├── .gitignore ├── Cargo.toml ├── Makefile ├── LICENSE-MIT.txt ├── .travis.yml ├── README.md ├── src └── main.rs ├── LICENSE-APACHE.txt └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | /credentials-to-env-*.zip 3 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | authors = ["Eric Kidd "] 3 | description = "Fetch secrets from Hashicorp's Vault and write to environment or files, then exec another program" 4 | license = "MIT/Apache-2.0" 5 | name = "credentials_to_env" 6 | readme = "README.md" 7 | repository = "https://github.com/faradayio/credentials_to_env" 8 | version = "0.4.8" 9 | autobins = false 10 | 11 | [[bin]] 12 | name = "credentials-to-env" 13 | path = "src/main.rs" 14 | 15 | [dependencies] 16 | common_failures = "0.1" 17 | credentials = "0.10" 18 | exec = "0.3" 19 | failure = "0.1.2" 20 | 21 | [features] 22 | unstable = [] 23 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # A Makefile for building semi-portable credentials-to-env binaries that 2 | # should work on as many Linux distros as possible. To do this, we build 3 | # on an older Linux distro, and rely on the fact that we only link against 4 | # common, stable shared libraries. 5 | 6 | # We use this command to run our build inside a sandboxed Linux 7 | # distribution which has a fairly old libc. With luck, this should allow 8 | # us to use the same binary on pretty much any modern Linux distribution, 9 | # because it will only rely on an ancient build of libc. 10 | SANDBOXED = docker run -v `pwd`:/home/rust/src --rm ekidd/rust-musl-builder 11 | 12 | # The name the zip archive we use for binary releases. 13 | ZIP = credentials-to-env-$(shell git describe --tags)-$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(shell uname -p).zip 14 | 15 | all: build 16 | 17 | # Compile in our sandbox. 18 | build: 19 | $(SANDBOXED) cargo build --release 20 | 21 | package: build 22 | rm -f $(ZIP) 23 | zip -j $(ZIP) target/x86_64-unknown-linux-musl/release/credentials-to-env 24 | 25 | clean: 26 | cargo clean 27 | 28 | .PHONY: all image build package clean 29 | -------------------------------------------------------------------------------- /LICENSE-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Faraday, Inc. 2 | 3 | Permission is hereby granted, free of charge, to any 4 | person obtaining a copy of this software and associated 5 | documentation files (the "Software"), to deal in the 6 | Software without restriction, including without 7 | limitation the rights to use, copy, modify, merge, 8 | publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software 10 | is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice 14 | shall be included in all copies or substantial portions 15 | of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 18 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 19 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 20 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 21 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 24 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: rust 2 | sudo: required 3 | os: 4 | - linux 5 | - osx 6 | rust: 7 | - stable 8 | services: 9 | - docker 10 | matrix: 11 | include: 12 | - os: linux 13 | rust: beta 14 | - os: linux 15 | rust: nightly 16 | script: 17 | - cargo build 18 | - cargo test 19 | before_deploy: "./build-release credentials-to-env ${TRAVIS_TAG}-${TRAVIS_OS_NAME}" 20 | deploy: 21 | provider: releases 22 | api_key: 23 | secure: pfqK0l95an7eDMmkvnMddZXlhqZeSpt+k0VVVQoibzJ8P1LUh4whrK7HSdlapotGISpMod7/IwpPfJ0ZdRV76cTP89VG6u09cGu9xlBkLMlUpHA846aQgZag4+ItMrZh2Vn7ZmurXNwOy0Z2+b6tK8Qq5gtk9Kc311n3uti9Dc/uhGjwF0vDy2JA0It4hE+Q8Xz84QTlK1e6zlfbkUwmFXF6twe8ueeUAilPk0gRnEDCMYc7rkpYYGGFrCYYkDmFY1c3NivY0eXwKrVAco6kTrFsUva+VTh3JQ58YcknI8DQzF+vB/Nhvx6Z8F4+uljUDBNW2Axi7Yz2pKcCmCeViIHkUkXfbtSX0gtFjaBW5TeBzUTcbNz0Xssl8f1DUsW7KjjyPnfsss5O4B0Ye+tbEf/P9eDm1joT3jXny5CLk98xQqHyBQ9HJKQ7XgAjq6OwaxTOlqTxUaM6IFubdRnOeHj6jZXQAt3mzIncJt+RG6CbFJMdPcWup6gPyTpJequz8oCDrT6BYSUlqcyJ23HCXZrV5Sh9Ld1OjLTqwOcldCK85+smTfzldUKhj184jJC2dgUzqshsMjOTOrp92fWH3gPEKmY4x+YesOro5UA5fKYsZ2WKG2NBOIvEnMP3tFgB/8VRQ3R9aKWSFQbaAJXsU/mkOupjX2na051TBxhxioQ= 24 | file_glob: true 25 | file: "credentials-to-env-${TRAVIS_TAG}-${TRAVIS_OS_NAME}.*" 26 | skip_cleanup: true 27 | on: 28 | repo: faradayio/credentials_to_env 29 | rust: stable 30 | tags: true 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # `credentials-to-env`: Fetch secrets from Hashicorp's vault or elsewhere before `exec`ing a program 2 | 3 | [![Latest version](https://img.shields.io/crates/v/credentials_to_env.svg)](https://crates.io/crates/credentials_to_env) [![License](https://img.shields.io/crates/l/credentials_to_env.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Build Status](https://travis-ci.org/faradayio/credentials_to_env.svg?branch=master)](https://travis-ci.org/faradayio/credentials_to_env) 4 | 5 | [Static binary releases](https://github.com/faradayio/credentials_to_env/releases) 6 | 7 | Do you have a pre-existing program that assumes that it will receive 8 | secrets in either environment variables or files on disk? Would you like 9 | to convert that program to work with Hashicorp's [Vault][]? 10 | 11 | First run: 12 | 13 | ```sh 14 | cargo install credentials_to_env 15 | ``` 16 | 17 | Then create a file named `Secretfile` explaining where in Vault the 18 | individual secrets can be found: 19 | 20 | # Set environment variables based on Vault secrets. 21 | DOCKER_HUB_USER secret/docker_hub:user 22 | DOCKER_HUB_PASSWORD secret/docker_hub:password 23 | DOCKER_HUB_EMAIL secret/docker_hub:email 24 | 25 | # Create SSL key files based on Vault secrets. 26 | >$HOME/.docker/ca.pem secret/docker:ca_pem 27 | >$HOME/.docker/cert.pem secret/docker:cert_pem 28 | >$HOME/.docker/key.pem secret/docker:key_pem 29 | 30 | Finally, prefix the invocation of your program with `credentials-to-env`: 31 | 32 | ```sh 33 | credentials-to-env myprogram arg1 arg2 34 | ``` 35 | 36 | This will automatically fetch secrets from Vault (or any other backend 37 | supported by [credentials][]) and write them to the specified environment 38 | variables or files. 39 | 40 | You can also override `credentials-to-env` by passing in the secrets 41 | yourself, which is handy if you call `credentials-to-env` inside a Docker 42 | container, but want to temporarily override the secrets you'd get from 43 | Vault. 44 | 45 | ## Development notes 46 | 47 | Pull requests are welcome! If you're not sure whether your idea would fit 48 | into the project's vision, please feel free to file an issue and ask us. 49 | 50 | **To build, you'll need to set up your OpenSSL paths first,** as described 51 | by the [Rust OpenSSL](https://github.com/sfackler/rust-openssl#osx) 52 | project. 53 | 54 | **To make an official release,** you need to be a maintainer, and you need 55 | to have `cargo publish` permissions. If this is the case, first edit 56 | `Cargo.toml` to bump the version number, then regenerate `Cargo.lock` 57 | using: 58 | 59 | ```sh 60 | cargo build 61 | ``` 62 | 63 | Commit the release, using a commit message of the format: 64 | 65 | ```txt 66 | v: 67 | 68 | 69 | ``` 70 | 71 | Then run: 72 | 73 | ``` 74 | git tag v$VERSION 75 | git push; git push --tags 76 | cargo publish 77 | ``` 78 | 79 | This will rebuild the official binaries using Travis CI, and upload a new version of 80 | the crate to [crates.io](https://crates.io/). 81 | 82 | [Vault]: https://www.vaultproject.io/ 83 | [credentials]: http://docs.randomhacks.net/credentials/ 84 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #[macro_use] 2 | extern crate common_failures; 3 | extern crate credentials; 4 | extern crate exec; 5 | extern crate failure; 6 | 7 | use common_failures::prelude::*; 8 | use credentials::{Client, Options, Secretfile}; 9 | use std::env; 10 | use std::fs; 11 | use std::io::Write; 12 | use std::path::{Path, PathBuf}; 13 | use std::process; 14 | use std::os::unix::fs::PermissionsExt; 15 | 16 | /// Our command-line arguments. 17 | struct Args { 18 | allow_override: bool, 19 | secretfile: Option, 20 | program: String, 21 | args: Vec, 22 | } 23 | 24 | impl Args { 25 | /// Display a usage message, and exit with the specified code. 26 | fn usage(exit_code: i32) -> ! { 27 | println!("\ 28 | Usage: 29 | credentials-to-env --version 30 | credentials-to-env --help 31 | credentials-to-env [--no-env-override] [-f ] [...] 32 | 33 | Processes a Secretfile, loading secrets into the environment or writing 34 | them to files as requested. Once this is done, it execs with . 35 | 36 | Options: 37 | --no-env-override Do not allow environement variables to override 38 | Secretfile contents. 39 | -f Use the specified Secretfile. Defaults to 40 | `Secretfile` in the current directory. 41 | 42 | For more information, see https://github.com/faradayio/credentials_to_env 43 | "); 44 | process::exit(exit_code) 45 | } 46 | 47 | /// Parse our command-line arguments, and exit on errors, `--help` or 48 | /// `--version`. We use our own argument parser because this kind of 49 | /// compound "forwarding to a second app" command-line tends to be more 50 | /// trouble than it's worth even with off-the-shelf tools. 51 | fn parse(arguments: I) -> Args 52 | where I: IntoIterator, I::Item: AsRef 53 | { 54 | let mut args: Vec = 55 | arguments.into_iter().map(|s| s.as_ref().to_owned()).collect(); 56 | let mut secretfile = None; 57 | let mut allow_override = true; 58 | while !args.is_empty() { 59 | match args[0].as_ref() { 60 | "--help" => Args::usage(0), 61 | "--version" => { 62 | // `env!` fetches compile-time env variables. 63 | // CARGO_PKG_VERSION is set by Cargo during the build. 64 | println!("credentials-to-env {}", env!("CARGO_PKG_VERSION")); 65 | process::exit(0); 66 | } 67 | "-f" if args.len() >= 2 => { 68 | secretfile = Some(Path::new(&args[1]).to_owned()); 69 | args.remove(0); 70 | args.remove(0); 71 | } 72 | "--no-env-override" => { 73 | allow_override = false; 74 | args.remove(0); 75 | } 76 | "--" => { 77 | args.remove(0); 78 | break; 79 | } 80 | _ => { 81 | if args[0].chars().next() == Some('-') { 82 | // Unknown '-' argument, so bail. 83 | Args::usage(1); 84 | } else { 85 | // We've found a non-option argument, so stop 86 | // looking for options. 87 | break; 88 | } 89 | } 90 | } 91 | } 92 | 93 | // Make sure we have at least one more argument, and that it 94 | // doesn't start with "-". 95 | if args.is_empty() || args[0].chars().next() == Some('-') { 96 | Args::usage(1) 97 | } 98 | let program = args.remove(0); 99 | 100 | Args { 101 | allow_override: allow_override, 102 | secretfile: secretfile, 103 | program: program, 104 | args: args, 105 | } 106 | } 107 | } 108 | 109 | #[test] 110 | fn test_args_parse() { 111 | let args = Args::parse(&["foo"]); 112 | assert_eq!(true, args.allow_override); 113 | assert_eq!(None, args.secretfile); 114 | assert_eq!("foo", args.program); 115 | assert_eq!(vec!() as Vec, args.args); 116 | 117 | let args = Args::parse(&["--no-env-override", "-f", "/app/Secretfile", 118 | "--", "foo", "--bar"]); 119 | assert_eq!(false, args.allow_override); 120 | assert_eq!(Some(Path::new("/app/Secretfile").to_owned()), args.secretfile); 121 | assert_eq!("foo", args.program); 122 | assert_eq!(vec!("--bar"), args.args); 123 | } 124 | 125 | /// This function does all the real work, and returns any errors to main, 126 | /// which handles them all in one place. 127 | fn run() -> Result<()> { 128 | // Fetch our arguments. 129 | let args = Args::parse(env::args().skip(1)); 130 | 131 | // Get our Secretfile and construct a client. 132 | let secretfile = try!(match &args.secretfile { 133 | &Some(ref path) => Secretfile::from_path(path), 134 | &None => Secretfile::default(), 135 | }); 136 | let options = Options::default() 137 | .secretfile(secretfile.clone()) 138 | .allow_override(args.allow_override); 139 | let mut client = try!(Client::new(options)); 140 | 141 | // Copy the environment variables listed in Secretfile to our local 142 | // environment. 143 | for var in secretfile.vars() { 144 | env::set_var(&var, &try!(client.var(&var))); 145 | } 146 | 147 | // Copy the files listed in Secretfile to our local file system. 148 | for path_str in secretfile.files() { 149 | let path = Path::new(&path_str); 150 | 151 | // Don't overwrite a file which already exists. 152 | if !path.exists() { 153 | // Make sure the directory exists. 154 | if let Some(parent) = path.parent() { 155 | try!(fs::create_dir_all(parent)); 156 | } 157 | 158 | // Write the data to a file that's only readable by us. 159 | let data = try!(client.file(path)); 160 | let mut f = try!(fs::File::create(path)); 161 | try!(fs::set_permissions(&path_str, 162 | PermissionsExt::from_mode(0o400))); 163 | try!(f.write_all(data.as_bytes())); 164 | } 165 | } 166 | 167 | // Execute the command we were passed. This returns an error if it returns 168 | // at all, which we wrap in `Err` to make a `Result` (for easier 169 | // processing). 170 | Err(exec::Command::new(&args.program).args(&args.args).exec()) 171 | .context("could not execute specified program") 172 | .map_err(|e| e.into()) 173 | } 174 | 175 | /// An error-handling wrapper around `run`. 176 | quick_main!(run); 177 | -------------------------------------------------------------------------------- /LICENSE-APACHE.txt: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "adler32" 3 | version = "1.0.3" 4 | source = "registry+https://github.com/rust-lang/crates.io-index" 5 | 6 | [[package]] 7 | name = "aho-corasick" 8 | version = "0.6.8" 9 | source = "registry+https://github.com/rust-lang/crates.io-index" 10 | dependencies = [ 11 | "memchr 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 12 | ] 13 | 14 | [[package]] 15 | name = "arrayvec" 16 | version = "0.4.7" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | dependencies = [ 19 | "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 20 | ] 21 | 22 | [[package]] 23 | name = "backtrace" 24 | version = "0.3.9" 25 | source = "registry+https://github.com/rust-lang/crates.io-index" 26 | dependencies = [ 27 | "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 28 | "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 29 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 30 | "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 31 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 32 | ] 33 | 34 | [[package]] 35 | name = "backtrace-sys" 36 | version = "0.1.24" 37 | source = "registry+https://github.com/rust-lang/crates.io-index" 38 | dependencies = [ 39 | "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", 40 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 41 | ] 42 | 43 | [[package]] 44 | name = "base64" 45 | version = "0.9.2" 46 | source = "registry+https://github.com/rust-lang/crates.io-index" 47 | dependencies = [ 48 | "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 49 | "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 50 | ] 51 | 52 | [[package]] 53 | name = "bitflags" 54 | version = "0.9.1" 55 | source = "registry+https://github.com/rust-lang/crates.io-index" 56 | 57 | [[package]] 58 | name = "bitflags" 59 | version = "1.0.4" 60 | source = "registry+https://github.com/rust-lang/crates.io-index" 61 | 62 | [[package]] 63 | name = "build_const" 64 | version = "0.2.1" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | 67 | [[package]] 68 | name = "byteorder" 69 | version = "1.2.6" 70 | source = "registry+https://github.com/rust-lang/crates.io-index" 71 | 72 | [[package]] 73 | name = "bytes" 74 | version = "0.4.10" 75 | source = "registry+https://github.com/rust-lang/crates.io-index" 76 | dependencies = [ 77 | "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 78 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 79 | ] 80 | 81 | [[package]] 82 | name = "cc" 83 | version = "1.0.25" 84 | source = "registry+https://github.com/rust-lang/crates.io-index" 85 | 86 | [[package]] 87 | name = "cfg-if" 88 | version = "0.1.5" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | 91 | [[package]] 92 | name = "cloudabi" 93 | version = "0.0.3" 94 | source = "registry+https://github.com/rust-lang/crates.io-index" 95 | dependencies = [ 96 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 97 | ] 98 | 99 | [[package]] 100 | name = "common_failures" 101 | version = "0.1.1" 102 | source = "registry+https://github.com/rust-lang/crates.io-index" 103 | dependencies = [ 104 | "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 105 | ] 106 | 107 | [[package]] 108 | name = "core-foundation" 109 | version = "0.2.3" 110 | source = "registry+https://github.com/rust-lang/crates.io-index" 111 | dependencies = [ 112 | "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 113 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 114 | ] 115 | 116 | [[package]] 117 | name = "core-foundation-sys" 118 | version = "0.2.3" 119 | source = "registry+https://github.com/rust-lang/crates.io-index" 120 | dependencies = [ 121 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 122 | ] 123 | 124 | [[package]] 125 | name = "crc" 126 | version = "1.8.1" 127 | source = "registry+https://github.com/rust-lang/crates.io-index" 128 | dependencies = [ 129 | "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 130 | ] 131 | 132 | [[package]] 133 | name = "credentials" 134 | version = "0.10.0" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | dependencies = [ 137 | "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 138 | "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", 139 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 140 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 141 | "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 142 | "reqwest 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)", 143 | "serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", 144 | "serde_derive 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", 145 | "serde_json 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)", 146 | ] 147 | 148 | [[package]] 149 | name = "credentials_to_env" 150 | version = "0.4.8" 151 | dependencies = [ 152 | "common_failures 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 153 | "credentials 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 154 | "exec 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 155 | "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 156 | ] 157 | 158 | [[package]] 159 | name = "crossbeam-deque" 160 | version = "0.6.1" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | dependencies = [ 163 | "crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 164 | "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 165 | ] 166 | 167 | [[package]] 168 | name = "crossbeam-epoch" 169 | version = "0.5.2" 170 | source = "registry+https://github.com/rust-lang/crates.io-index" 171 | dependencies = [ 172 | "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", 173 | "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 174 | "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 175 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 176 | "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 177 | "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 178 | ] 179 | 180 | [[package]] 181 | name = "crossbeam-utils" 182 | version = "0.5.0" 183 | source = "registry+https://github.com/rust-lang/crates.io-index" 184 | 185 | [[package]] 186 | name = "dtoa" 187 | version = "0.4.3" 188 | source = "registry+https://github.com/rust-lang/crates.io-index" 189 | 190 | [[package]] 191 | name = "encoding_rs" 192 | version = "0.8.6" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | dependencies = [ 195 | "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 196 | ] 197 | 198 | [[package]] 199 | name = "errno" 200 | version = "0.2.4" 201 | source = "registry+https://github.com/rust-lang/crates.io-index" 202 | dependencies = [ 203 | "errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 204 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 205 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 206 | ] 207 | 208 | [[package]] 209 | name = "errno-dragonfly" 210 | version = "0.1.1" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | dependencies = [ 213 | "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", 214 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 215 | ] 216 | 217 | [[package]] 218 | name = "exec" 219 | version = "0.3.1" 220 | source = "registry+https://github.com/rust-lang/crates.io-index" 221 | dependencies = [ 222 | "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 223 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 224 | ] 225 | 226 | [[package]] 227 | name = "failure" 228 | version = "0.1.2" 229 | source = "registry+https://github.com/rust-lang/crates.io-index" 230 | dependencies = [ 231 | "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 232 | "failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 233 | ] 234 | 235 | [[package]] 236 | name = "failure_derive" 237 | version = "0.1.2" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | dependencies = [ 240 | "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", 241 | "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 242 | "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", 243 | "synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", 244 | ] 245 | 246 | [[package]] 247 | name = "foreign-types" 248 | version = "0.3.2" 249 | source = "registry+https://github.com/rust-lang/crates.io-index" 250 | dependencies = [ 251 | "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 252 | ] 253 | 254 | [[package]] 255 | name = "foreign-types-shared" 256 | version = "0.1.1" 257 | source = "registry+https://github.com/rust-lang/crates.io-index" 258 | 259 | [[package]] 260 | name = "fuchsia-zircon" 261 | version = "0.3.3" 262 | source = "registry+https://github.com/rust-lang/crates.io-index" 263 | dependencies = [ 264 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 265 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 266 | ] 267 | 268 | [[package]] 269 | name = "fuchsia-zircon-sys" 270 | version = "0.3.3" 271 | source = "registry+https://github.com/rust-lang/crates.io-index" 272 | 273 | [[package]] 274 | name = "futures" 275 | version = "0.1.24" 276 | source = "registry+https://github.com/rust-lang/crates.io-index" 277 | 278 | [[package]] 279 | name = "futures-cpupool" 280 | version = "0.1.8" 281 | source = "registry+https://github.com/rust-lang/crates.io-index" 282 | dependencies = [ 283 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 284 | "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 285 | ] 286 | 287 | [[package]] 288 | name = "gcc" 289 | version = "0.3.54" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | 292 | [[package]] 293 | name = "httparse" 294 | version = "1.3.2" 295 | source = "registry+https://github.com/rust-lang/crates.io-index" 296 | 297 | [[package]] 298 | name = "hyper" 299 | version = "0.11.27" 300 | source = "registry+https://github.com/rust-lang/crates.io-index" 301 | dependencies = [ 302 | "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", 303 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 304 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 305 | "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 306 | "httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 307 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 308 | "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 309 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 310 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 311 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 312 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 313 | "relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 314 | "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 315 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 316 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 317 | "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 318 | "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 319 | "want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 320 | ] 321 | 322 | [[package]] 323 | name = "hyper-tls" 324 | version = "0.1.4" 325 | source = "registry+https://github.com/rust-lang/crates.io-index" 326 | dependencies = [ 327 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 328 | "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", 329 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 330 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 331 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 332 | "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 333 | "tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 334 | ] 335 | 336 | [[package]] 337 | name = "idna" 338 | version = "0.1.5" 339 | source = "registry+https://github.com/rust-lang/crates.io-index" 340 | dependencies = [ 341 | "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 342 | "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", 343 | "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 344 | ] 345 | 346 | [[package]] 347 | name = "iovec" 348 | version = "0.1.2" 349 | source = "registry+https://github.com/rust-lang/crates.io-index" 350 | dependencies = [ 351 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 352 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 353 | ] 354 | 355 | [[package]] 356 | name = "itoa" 357 | version = "0.4.3" 358 | source = "registry+https://github.com/rust-lang/crates.io-index" 359 | 360 | [[package]] 361 | name = "kernel32-sys" 362 | version = "0.2.2" 363 | source = "registry+https://github.com/rust-lang/crates.io-index" 364 | dependencies = [ 365 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 366 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 367 | ] 368 | 369 | [[package]] 370 | name = "language-tags" 371 | version = "0.2.2" 372 | source = "registry+https://github.com/rust-lang/crates.io-index" 373 | 374 | [[package]] 375 | name = "lazy_static" 376 | version = "0.2.11" 377 | source = "registry+https://github.com/rust-lang/crates.io-index" 378 | 379 | [[package]] 380 | name = "lazy_static" 381 | version = "1.1.0" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | dependencies = [ 384 | "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 385 | ] 386 | 387 | [[package]] 388 | name = "lazycell" 389 | version = "1.1.0" 390 | source = "registry+https://github.com/rust-lang/crates.io-index" 391 | 392 | [[package]] 393 | name = "libc" 394 | version = "0.2.43" 395 | source = "registry+https://github.com/rust-lang/crates.io-index" 396 | 397 | [[package]] 398 | name = "libflate" 399 | version = "0.1.16" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | dependencies = [ 402 | "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 403 | "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 404 | "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 405 | ] 406 | 407 | [[package]] 408 | name = "lock_api" 409 | version = "0.1.3" 410 | source = "registry+https://github.com/rust-lang/crates.io-index" 411 | dependencies = [ 412 | "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 413 | "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 414 | ] 415 | 416 | [[package]] 417 | name = "log" 418 | version = "0.4.5" 419 | source = "registry+https://github.com/rust-lang/crates.io-index" 420 | dependencies = [ 421 | "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 422 | ] 423 | 424 | [[package]] 425 | name = "matches" 426 | version = "0.1.8" 427 | source = "registry+https://github.com/rust-lang/crates.io-index" 428 | 429 | [[package]] 430 | name = "memchr" 431 | version = "2.0.2" 432 | source = "registry+https://github.com/rust-lang/crates.io-index" 433 | dependencies = [ 434 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 435 | ] 436 | 437 | [[package]] 438 | name = "memoffset" 439 | version = "0.2.1" 440 | source = "registry+https://github.com/rust-lang/crates.io-index" 441 | 442 | [[package]] 443 | name = "mime" 444 | version = "0.3.9" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | dependencies = [ 447 | "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 448 | ] 449 | 450 | [[package]] 451 | name = "mime_guess" 452 | version = "2.0.0-alpha.6" 453 | source = "registry+https://github.com/rust-lang/crates.io-index" 454 | dependencies = [ 455 | "mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 456 | "phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", 457 | "phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", 458 | "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 459 | ] 460 | 461 | [[package]] 462 | name = "mio" 463 | version = "0.6.16" 464 | source = "registry+https://github.com/rust-lang/crates.io-index" 465 | dependencies = [ 466 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 467 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 468 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 469 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 470 | "lazycell 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 471 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 472 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 473 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 474 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 475 | "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 476 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 477 | ] 478 | 479 | [[package]] 480 | name = "mio-uds" 481 | version = "0.6.7" 482 | source = "registry+https://github.com/rust-lang/crates.io-index" 483 | dependencies = [ 484 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 485 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 486 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 487 | ] 488 | 489 | [[package]] 490 | name = "miow" 491 | version = "0.2.1" 492 | source = "registry+https://github.com/rust-lang/crates.io-index" 493 | dependencies = [ 494 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 495 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", 496 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 497 | "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 498 | ] 499 | 500 | [[package]] 501 | name = "native-tls" 502 | version = "0.1.5" 503 | source = "registry+https://github.com/rust-lang/crates.io-index" 504 | dependencies = [ 505 | "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 506 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 507 | "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", 508 | "schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", 509 | "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 510 | "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 511 | "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 512 | ] 513 | 514 | [[package]] 515 | name = "net2" 516 | version = "0.2.33" 517 | source = "registry+https://github.com/rust-lang/crates.io-index" 518 | dependencies = [ 519 | "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 520 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 521 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 522 | ] 523 | 524 | [[package]] 525 | name = "nodrop" 526 | version = "0.1.12" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | 529 | [[package]] 530 | name = "num_cpus" 531 | version = "1.8.0" 532 | source = "registry+https://github.com/rust-lang/crates.io-index" 533 | dependencies = [ 534 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 535 | ] 536 | 537 | [[package]] 538 | name = "openssl" 539 | version = "0.9.24" 540 | source = "registry+https://github.com/rust-lang/crates.io-index" 541 | dependencies = [ 542 | "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 543 | "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 544 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 545 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 546 | "openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)", 547 | ] 548 | 549 | [[package]] 550 | name = "openssl-sys" 551 | version = "0.9.35" 552 | source = "registry+https://github.com/rust-lang/crates.io-index" 553 | dependencies = [ 554 | "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", 555 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 556 | "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", 557 | "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 558 | ] 559 | 560 | [[package]] 561 | name = "owning_ref" 562 | version = "0.3.3" 563 | source = "registry+https://github.com/rust-lang/crates.io-index" 564 | dependencies = [ 565 | "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 566 | ] 567 | 568 | [[package]] 569 | name = "parking_lot" 570 | version = "0.6.4" 571 | source = "registry+https://github.com/rust-lang/crates.io-index" 572 | dependencies = [ 573 | "lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 574 | "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 575 | ] 576 | 577 | [[package]] 578 | name = "parking_lot_core" 579 | version = "0.3.1" 580 | source = "registry+https://github.com/rust-lang/crates.io-index" 581 | dependencies = [ 582 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 583 | "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", 584 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 585 | "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 586 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 587 | ] 588 | 589 | [[package]] 590 | name = "percent-encoding" 591 | version = "1.0.1" 592 | source = "registry+https://github.com/rust-lang/crates.io-index" 593 | 594 | [[package]] 595 | name = "phf" 596 | version = "0.7.23" 597 | source = "registry+https://github.com/rust-lang/crates.io-index" 598 | dependencies = [ 599 | "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", 600 | ] 601 | 602 | [[package]] 603 | name = "phf_codegen" 604 | version = "0.7.23" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | dependencies = [ 607 | "phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", 608 | "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", 609 | ] 610 | 611 | [[package]] 612 | name = "phf_generator" 613 | version = "0.7.23" 614 | source = "registry+https://github.com/rust-lang/crates.io-index" 615 | dependencies = [ 616 | "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", 617 | "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", 618 | ] 619 | 620 | [[package]] 621 | name = "phf_shared" 622 | version = "0.7.23" 623 | source = "registry+https://github.com/rust-lang/crates.io-index" 624 | dependencies = [ 625 | "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 626 | "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 627 | ] 628 | 629 | [[package]] 630 | name = "pkg-config" 631 | version = "0.3.14" 632 | source = "registry+https://github.com/rust-lang/crates.io-index" 633 | 634 | [[package]] 635 | name = "proc-macro2" 636 | version = "0.4.19" 637 | source = "registry+https://github.com/rust-lang/crates.io-index" 638 | dependencies = [ 639 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 640 | ] 641 | 642 | [[package]] 643 | name = "quote" 644 | version = "0.6.8" 645 | source = "registry+https://github.com/rust-lang/crates.io-index" 646 | dependencies = [ 647 | "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", 648 | ] 649 | 650 | [[package]] 651 | name = "rand" 652 | version = "0.4.3" 653 | source = "registry+https://github.com/rust-lang/crates.io-index" 654 | dependencies = [ 655 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 656 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 657 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 658 | ] 659 | 660 | [[package]] 661 | name = "rand" 662 | version = "0.5.5" 663 | source = "registry+https://github.com/rust-lang/crates.io-index" 664 | dependencies = [ 665 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 666 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 667 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 668 | "rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 669 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 670 | ] 671 | 672 | [[package]] 673 | name = "rand_core" 674 | version = "0.2.1" 675 | source = "registry+https://github.com/rust-lang/crates.io-index" 676 | 677 | [[package]] 678 | name = "redox_syscall" 679 | version = "0.1.40" 680 | source = "registry+https://github.com/rust-lang/crates.io-index" 681 | 682 | [[package]] 683 | name = "regex" 684 | version = "1.0.5" 685 | source = "registry+https://github.com/rust-lang/crates.io-index" 686 | dependencies = [ 687 | "aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 688 | "memchr 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 689 | "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 690 | "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 691 | "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 692 | ] 693 | 694 | [[package]] 695 | name = "regex-syntax" 696 | version = "0.6.2" 697 | source = "registry+https://github.com/rust-lang/crates.io-index" 698 | dependencies = [ 699 | "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 700 | ] 701 | 702 | [[package]] 703 | name = "relay" 704 | version = "0.1.1" 705 | source = "registry+https://github.com/rust-lang/crates.io-index" 706 | dependencies = [ 707 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 708 | ] 709 | 710 | [[package]] 711 | name = "remove_dir_all" 712 | version = "0.5.1" 713 | source = "registry+https://github.com/rust-lang/crates.io-index" 714 | dependencies = [ 715 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 716 | ] 717 | 718 | [[package]] 719 | name = "reqwest" 720 | version = "0.8.8" 721 | source = "registry+https://github.com/rust-lang/crates.io-index" 722 | dependencies = [ 723 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 724 | "encoding_rs 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)", 725 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 726 | "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", 727 | "hyper-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 728 | "libflate 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 729 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 730 | "mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)", 731 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 732 | "serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", 733 | "serde_json 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)", 734 | "serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", 735 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 736 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 737 | "tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 738 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 739 | "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 740 | ] 741 | 742 | [[package]] 743 | name = "rustc-demangle" 744 | version = "0.1.9" 745 | source = "registry+https://github.com/rust-lang/crates.io-index" 746 | 747 | [[package]] 748 | name = "rustc_version" 749 | version = "0.2.3" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | dependencies = [ 752 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", 753 | ] 754 | 755 | [[package]] 756 | name = "ryu" 757 | version = "0.2.6" 758 | source = "registry+https://github.com/rust-lang/crates.io-index" 759 | 760 | [[package]] 761 | name = "safemem" 762 | version = "0.2.0" 763 | source = "registry+https://github.com/rust-lang/crates.io-index" 764 | 765 | [[package]] 766 | name = "schannel" 767 | version = "0.1.13" 768 | source = "registry+https://github.com/rust-lang/crates.io-index" 769 | dependencies = [ 770 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 771 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 772 | ] 773 | 774 | [[package]] 775 | name = "scoped-tls" 776 | version = "0.1.2" 777 | source = "registry+https://github.com/rust-lang/crates.io-index" 778 | 779 | [[package]] 780 | name = "scopeguard" 781 | version = "0.3.3" 782 | source = "registry+https://github.com/rust-lang/crates.io-index" 783 | 784 | [[package]] 785 | name = "security-framework" 786 | version = "0.1.16" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | dependencies = [ 789 | "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 790 | "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 791 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 792 | "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", 793 | ] 794 | 795 | [[package]] 796 | name = "security-framework-sys" 797 | version = "0.1.16" 798 | source = "registry+https://github.com/rust-lang/crates.io-index" 799 | dependencies = [ 800 | "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 801 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 802 | ] 803 | 804 | [[package]] 805 | name = "semver" 806 | version = "0.9.0" 807 | source = "registry+https://github.com/rust-lang/crates.io-index" 808 | dependencies = [ 809 | "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 810 | ] 811 | 812 | [[package]] 813 | name = "semver-parser" 814 | version = "0.7.0" 815 | source = "registry+https://github.com/rust-lang/crates.io-index" 816 | 817 | [[package]] 818 | name = "serde" 819 | version = "1.0.78" 820 | source = "registry+https://github.com/rust-lang/crates.io-index" 821 | 822 | [[package]] 823 | name = "serde_derive" 824 | version = "1.0.78" 825 | source = "registry+https://github.com/rust-lang/crates.io-index" 826 | dependencies = [ 827 | "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", 828 | "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 829 | "syn 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)", 830 | ] 831 | 832 | [[package]] 833 | name = "serde_json" 834 | version = "1.0.27" 835 | source = "registry+https://github.com/rust-lang/crates.io-index" 836 | dependencies = [ 837 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 838 | "ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 839 | "serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", 840 | ] 841 | 842 | [[package]] 843 | name = "serde_urlencoded" 844 | version = "0.5.3" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | dependencies = [ 847 | "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 848 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 849 | "serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)", 850 | "url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 851 | ] 852 | 853 | [[package]] 854 | name = "siphasher" 855 | version = "0.2.3" 856 | source = "registry+https://github.com/rust-lang/crates.io-index" 857 | 858 | [[package]] 859 | name = "slab" 860 | version = "0.4.1" 861 | source = "registry+https://github.com/rust-lang/crates.io-index" 862 | 863 | [[package]] 864 | name = "smallvec" 865 | version = "0.6.5" 866 | source = "registry+https://github.com/rust-lang/crates.io-index" 867 | dependencies = [ 868 | "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", 869 | ] 870 | 871 | [[package]] 872 | name = "stable_deref_trait" 873 | version = "1.1.1" 874 | source = "registry+https://github.com/rust-lang/crates.io-index" 875 | 876 | [[package]] 877 | name = "syn" 878 | version = "0.14.9" 879 | source = "registry+https://github.com/rust-lang/crates.io-index" 880 | dependencies = [ 881 | "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", 882 | "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 883 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 884 | ] 885 | 886 | [[package]] 887 | name = "syn" 888 | version = "0.15.4" 889 | source = "registry+https://github.com/rust-lang/crates.io-index" 890 | dependencies = [ 891 | "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", 892 | "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 893 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 894 | ] 895 | 896 | [[package]] 897 | name = "synstructure" 898 | version = "0.9.0" 899 | source = "registry+https://github.com/rust-lang/crates.io-index" 900 | dependencies = [ 901 | "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", 902 | "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 903 | "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", 904 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 905 | ] 906 | 907 | [[package]] 908 | name = "tempdir" 909 | version = "0.3.7" 910 | source = "registry+https://github.com/rust-lang/crates.io-index" 911 | dependencies = [ 912 | "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 913 | "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 914 | ] 915 | 916 | [[package]] 917 | name = "thread_local" 918 | version = "0.3.6" 919 | source = "registry+https://github.com/rust-lang/crates.io-index" 920 | dependencies = [ 921 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 922 | ] 923 | 924 | [[package]] 925 | name = "time" 926 | version = "0.1.40" 927 | source = "registry+https://github.com/rust-lang/crates.io-index" 928 | dependencies = [ 929 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 930 | "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 931 | "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", 932 | ] 933 | 934 | [[package]] 935 | name = "tokio" 936 | version = "0.1.8" 937 | source = "registry+https://github.com/rust-lang/crates.io-index" 938 | dependencies = [ 939 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 940 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 941 | "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 942 | "tokio-current-thread 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 943 | "tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 944 | "tokio-fs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 945 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 946 | "tokio-reactor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 947 | "tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 948 | "tokio-threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 949 | "tokio-timer 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 950 | "tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 951 | "tokio-uds 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 952 | ] 953 | 954 | [[package]] 955 | name = "tokio-codec" 956 | version = "0.1.0" 957 | source = "registry+https://github.com/rust-lang/crates.io-index" 958 | dependencies = [ 959 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 960 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 961 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 962 | ] 963 | 964 | [[package]] 965 | name = "tokio-core" 966 | version = "0.1.17" 967 | source = "registry+https://github.com/rust-lang/crates.io-index" 968 | dependencies = [ 969 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 970 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 971 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 972 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 973 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 974 | "scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 975 | "tokio 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 976 | "tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 977 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 978 | "tokio-reactor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 979 | "tokio-timer 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 980 | ] 981 | 982 | [[package]] 983 | name = "tokio-current-thread" 984 | version = "0.1.1" 985 | source = "registry+https://github.com/rust-lang/crates.io-index" 986 | dependencies = [ 987 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 988 | "tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 989 | ] 990 | 991 | [[package]] 992 | name = "tokio-executor" 993 | version = "0.1.4" 994 | source = "registry+https://github.com/rust-lang/crates.io-index" 995 | dependencies = [ 996 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 997 | ] 998 | 999 | [[package]] 1000 | name = "tokio-fs" 1001 | version = "0.1.3" 1002 | source = "registry+https://github.com/rust-lang/crates.io-index" 1003 | dependencies = [ 1004 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1005 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1006 | "tokio-threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 1007 | ] 1008 | 1009 | [[package]] 1010 | name = "tokio-io" 1011 | version = "0.1.8" 1012 | source = "registry+https://github.com/rust-lang/crates.io-index" 1013 | dependencies = [ 1014 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 1015 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1016 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1017 | ] 1018 | 1019 | [[package]] 1020 | name = "tokio-reactor" 1021 | version = "0.1.5" 1022 | source = "registry+https://github.com/rust-lang/crates.io-index" 1023 | dependencies = [ 1024 | "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 1025 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1026 | "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1027 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1028 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 1029 | "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 1030 | "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 1031 | "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 1032 | "tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1033 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1034 | ] 1035 | 1036 | [[package]] 1037 | name = "tokio-service" 1038 | version = "0.1.0" 1039 | source = "registry+https://github.com/rust-lang/crates.io-index" 1040 | dependencies = [ 1041 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1042 | ] 1043 | 1044 | [[package]] 1045 | name = "tokio-tcp" 1046 | version = "0.1.1" 1047 | source = "registry+https://github.com/rust-lang/crates.io-index" 1048 | dependencies = [ 1049 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 1050 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1051 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1052 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 1053 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1054 | "tokio-reactor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1055 | ] 1056 | 1057 | [[package]] 1058 | name = "tokio-threadpool" 1059 | version = "0.1.6" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | dependencies = [ 1062 | "crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", 1063 | "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 1064 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1065 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1066 | "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 1067 | "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", 1068 | "tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1069 | ] 1070 | 1071 | [[package]] 1072 | name = "tokio-timer" 1073 | version = "0.2.6" 1074 | source = "registry+https://github.com/rust-lang/crates.io-index" 1075 | dependencies = [ 1076 | "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 1077 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1078 | "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 1079 | "tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1080 | ] 1081 | 1082 | [[package]] 1083 | name = "tokio-tls" 1084 | version = "0.1.4" 1085 | source = "registry+https://github.com/rust-lang/crates.io-index" 1086 | dependencies = [ 1087 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1088 | "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1089 | "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", 1090 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1091 | ] 1092 | 1093 | [[package]] 1094 | name = "tokio-udp" 1095 | version = "0.1.2" 1096 | source = "registry+https://github.com/rust-lang/crates.io-index" 1097 | dependencies = [ 1098 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 1099 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1100 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1101 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 1102 | "tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1103 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1104 | "tokio-reactor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1105 | ] 1106 | 1107 | [[package]] 1108 | name = "tokio-uds" 1109 | version = "0.2.1" 1110 | source = "registry+https://github.com/rust-lang/crates.io-index" 1111 | dependencies = [ 1112 | "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 1113 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1114 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1115 | "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 1116 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1117 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", 1118 | "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", 1119 | "tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1120 | "tokio-reactor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1121 | ] 1122 | 1123 | [[package]] 1124 | name = "try-lock" 1125 | version = "0.1.0" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | 1128 | [[package]] 1129 | name = "ucd-util" 1130 | version = "0.1.1" 1131 | source = "registry+https://github.com/rust-lang/crates.io-index" 1132 | 1133 | [[package]] 1134 | name = "unicase" 1135 | version = "1.4.2" 1136 | source = "registry+https://github.com/rust-lang/crates.io-index" 1137 | dependencies = [ 1138 | "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1139 | ] 1140 | 1141 | [[package]] 1142 | name = "unicase" 1143 | version = "2.1.0" 1144 | source = "registry+https://github.com/rust-lang/crates.io-index" 1145 | dependencies = [ 1146 | "version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1147 | ] 1148 | 1149 | [[package]] 1150 | name = "unicode-bidi" 1151 | version = "0.3.4" 1152 | source = "registry+https://github.com/rust-lang/crates.io-index" 1153 | dependencies = [ 1154 | "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1155 | ] 1156 | 1157 | [[package]] 1158 | name = "unicode-normalization" 1159 | version = "0.1.7" 1160 | source = "registry+https://github.com/rust-lang/crates.io-index" 1161 | 1162 | [[package]] 1163 | name = "unicode-xid" 1164 | version = "0.1.0" 1165 | source = "registry+https://github.com/rust-lang/crates.io-index" 1166 | 1167 | [[package]] 1168 | name = "unreachable" 1169 | version = "1.0.0" 1170 | source = "registry+https://github.com/rust-lang/crates.io-index" 1171 | dependencies = [ 1172 | "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1173 | ] 1174 | 1175 | [[package]] 1176 | name = "url" 1177 | version = "1.7.1" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | dependencies = [ 1180 | "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1181 | "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", 1182 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 1183 | ] 1184 | 1185 | [[package]] 1186 | name = "utf8-ranges" 1187 | version = "1.0.1" 1188 | source = "registry+https://github.com/rust-lang/crates.io-index" 1189 | 1190 | [[package]] 1191 | name = "uuid" 1192 | version = "0.6.5" 1193 | source = "registry+https://github.com/rust-lang/crates.io-index" 1194 | dependencies = [ 1195 | "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1196 | "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 1197 | ] 1198 | 1199 | [[package]] 1200 | name = "vcpkg" 1201 | version = "0.2.6" 1202 | source = "registry+https://github.com/rust-lang/crates.io-index" 1203 | 1204 | [[package]] 1205 | name = "version_check" 1206 | version = "0.1.4" 1207 | source = "registry+https://github.com/rust-lang/crates.io-index" 1208 | 1209 | [[package]] 1210 | name = "void" 1211 | version = "1.0.2" 1212 | source = "registry+https://github.com/rust-lang/crates.io-index" 1213 | 1214 | [[package]] 1215 | name = "want" 1216 | version = "0.0.4" 1217 | source = "registry+https://github.com/rust-lang/crates.io-index" 1218 | dependencies = [ 1219 | "futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 1220 | "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1221 | "try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1222 | ] 1223 | 1224 | [[package]] 1225 | name = "winapi" 1226 | version = "0.2.8" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | 1229 | [[package]] 1230 | name = "winapi" 1231 | version = "0.3.5" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | dependencies = [ 1234 | "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1235 | "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1236 | ] 1237 | 1238 | [[package]] 1239 | name = "winapi-build" 1240 | version = "0.1.1" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | 1243 | [[package]] 1244 | name = "winapi-i686-pc-windows-gnu" 1245 | version = "0.4.0" 1246 | source = "registry+https://github.com/rust-lang/crates.io-index" 1247 | 1248 | [[package]] 1249 | name = "winapi-x86_64-pc-windows-gnu" 1250 | version = "0.4.0" 1251 | source = "registry+https://github.com/rust-lang/crates.io-index" 1252 | 1253 | [[package]] 1254 | name = "ws2_32-sys" 1255 | version = "0.2.1" 1256 | source = "registry+https://github.com/rust-lang/crates.io-index" 1257 | dependencies = [ 1258 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 1259 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1260 | ] 1261 | 1262 | [metadata] 1263 | "checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c" 1264 | "checksum aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "68f56c7353e5a9547cbd76ed90f7bb5ffc3ba09d4ea9bd1d8c06c8b1142eeb5a" 1265 | "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" 1266 | "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" 1267 | "checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" 1268 | "checksum base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "85415d2594767338a74a30c1d370b2f3262ec1b4ed2d7bba5b3faf4de40467d9" 1269 | "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" 1270 | "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" 1271 | "checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39" 1272 | "checksum byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "90492c5858dd7d2e78691cfb89f90d273a2800fc11d98f60786e5d87e2f83781" 1273 | "checksum bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0ce55bd354b095246fc34caf4e9e242f5297a7fd938b090cadfea6eee614aa62" 1274 | "checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" 1275 | "checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3" 1276 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" 1277 | "checksum common_failures 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c84afb517ac0988b7e049e06c51511716f80d0f0233972fca666d3f14f80d8fb" 1278 | "checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67" 1279 | "checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d" 1280 | "checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" 1281 | "checksum credentials 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8061a73205e2d9ef24950433bfc732d627bea074e3fe1aa116682f8bd6f5ade1" 1282 | "checksum crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3486aefc4c0487b9cb52372c97df0a48b8c249514af1ee99703bf70d2f2ceda1" 1283 | "checksum crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9" 1284 | "checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" 1285 | "checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd" 1286 | "checksum encoding_rs 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2a91912d6f37c6a8fef8a2316a862542d036f13c923ad518b5aca7bcaac7544c" 1287 | "checksum errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a071601ed01b988f896ab14b95e67335d1eeb50190932a1320f7fe3cadc84e" 1288 | "checksum errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" 1289 | "checksum exec 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "886b70328cba8871bfc025858e1de4be16b1d5088f2ba50b57816f4210672615" 1290 | "checksum failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7efb22686e4a466b1ec1a15c2898f91fa9cb340452496dca654032de20ff95b9" 1291 | "checksum failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "946d0e98a50d9831f5d589038d2ca7f8f455b1c21028c0db0e84116a12696426" 1292 | "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 1293 | "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 1294 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" 1295 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" 1296 | "checksum futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "0c84b40c7e2de99ffd70602db314a7a8c26b2b3d830e6f7f7a142a8860ab3ca4" 1297 | "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" 1298 | "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" 1299 | "checksum httparse 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7b6288d7db100340ca12873fd4d08ad1b8f206a9457798dfb17c018a33fee540" 1300 | "checksum hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)" = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7" 1301 | "checksum hyper-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ffb1bd5e518d3065840ab315dbbf44e4420e5f7d80e2cb93fa6ffffc50522378" 1302 | "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" 1303 | "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" 1304 | "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" 1305 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" 1306 | "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" 1307 | "checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" 1308 | "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7" 1309 | "checksum lazycell 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e26d4c411b39f0afcf2ba6fe502be90e6c9b299c952dbd86124782520a13cffd" 1310 | "checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" 1311 | "checksum libflate 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "7d4b4c7aff5bac19b956f693d0ea0eade8066deb092186ae954fa6ba14daab98" 1312 | "checksum lock_api 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "949826a5ccf18c1b3a7c3d57692778d21768b79e46eb9dd07bfc4c2160036c54" 1313 | "checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f" 1314 | "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" 1315 | "checksum memchr 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a3b4142ab8738a78c51896f704f83c11df047ff1bda9a92a661aa6361552d93d" 1316 | "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" 1317 | "checksum mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "4b082692d3f6cf41b453af73839ce3dfc212c4411cbb2441dff80a716e38bd79" 1318 | "checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed" 1319 | "checksum mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432" 1320 | "checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125" 1321 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" 1322 | "checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0" 1323 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" 1324 | "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" 1325 | "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" 1326 | "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" 1327 | "checksum openssl-sys 0.9.35 (registry+https://github.com/rust-lang/crates.io-index)" = "912f301a749394e1025d9dcddef6106ddee9252620e6d0a0e5f8d0681de9b129" 1328 | "checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" 1329 | "checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5" 1330 | "checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" 1331 | "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" 1332 | "checksum phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6" 1333 | "checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad" 1334 | "checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b" 1335 | "checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93" 1336 | "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" 1337 | "checksum proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)" = "ffe022fb8c8bd254524b0b3305906c1921fa37a84a644e29079a9e62200c3901" 1338 | "checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5" 1339 | "checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd" 1340 | "checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c" 1341 | "checksum rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "edecf0f94da5551fc9b492093e30b041a891657db7940ee221f9d2f66e82eef2" 1342 | "checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" 1343 | "checksum regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2069749032ea3ec200ca51e4a31df41759190a88edca0d2d86ee8bedf7073341" 1344 | "checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d" 1345 | "checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a" 1346 | "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" 1347 | "checksum reqwest 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)" = "738769ec83daf6c1929dc9dae7d69ed3779b55ae5c356e989dcd3aa677d8486e" 1348 | "checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" 1349 | "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" 1350 | "checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7" 1351 | "checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" 1352 | "checksum schannel 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "dc1fabf2a7b6483a141426e1afd09ad543520a77ac49bd03c286e7696ccfd77f" 1353 | "checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" 1354 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" 1355 | "checksum security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332" 1356 | "checksum security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "5421621e836278a0b139268f36eee0dc7e389b784dc3f79d8f11aabadf41bead" 1357 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" 1358 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" 1359 | "checksum serde 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)" = "92ec94e2754699adddbbc4f555791bd3acc2a2f5574cba16c93a4a9cf4a04415" 1360 | "checksum serde_derive 1.0.78 (registry+https://github.com/rust-lang/crates.io-index)" = "0fb622d85245add5327d4f08b2d24fd51fa5d35fe1bba19ee79a1f211e9ac0ff" 1361 | "checksum serde_json 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)" = "59790990c5115d16027f00913e2e66de23a51f70422e549d2ad68c8c5f268f1c" 1362 | "checksum serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aaed41d9fb1e2f587201b863356590c90c1157495d811430a0c0325fe8169650" 1363 | "checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" 1364 | "checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d" 1365 | "checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d" 1366 | "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" 1367 | "checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" 1368 | "checksum syn 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9056ebe7f2d6a38bc63171816fd1d3430da5a43896de21676dc5c0a4b8274a11" 1369 | "checksum synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85bb9b7550d063ea184027c9b8c20ac167cd36d3e06b3a40bceb9d746dc1a7b7" 1370 | "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" 1371 | "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" 1372 | "checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" 1373 | "checksum tokio 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fbb6a6e9db2702097bfdfddcb09841211ad423b86c75b5ddaca1d62842ac492c" 1374 | "checksum tokio-codec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "881e9645b81c2ce95fcb799ded2c29ffb9f25ef5bef909089a420e5961dd8ccb" 1375 | "checksum tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71" 1376 | "checksum tokio-current-thread 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fdfb899688ac16f618076bd09215edbfda0fd5dfecb375b6942636cb31fa8a7" 1377 | "checksum tokio-executor 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "84823b932d566bc3c6aa644df4ca36cb38593c50b7db06011fd4e12e31e4047e" 1378 | "checksum tokio-fs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cbe4ca6e71cb0b62a66e4e6f53a8c06a6eefe46cc5f665ad6f274c9906f135" 1379 | "checksum tokio-io 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6cc2de7725863c86ac71b0b9068476fec50834f055a243558ef1655bbd34cb" 1380 | "checksum tokio-reactor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4bfbaf9f260635649ec26b6fb4aded03887295ffcd999f6e43fd2c4758f758ea" 1381 | "checksum tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" 1382 | "checksum tokio-tcp 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5b4c329b47f071eb8a746040465fa751bd95e4716e98daef6a9b4e434c17d565" 1383 | "checksum tokio-threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a5758cecb6e0633cea5d563ac07c975e04961690b946b04fd84e7d6445a8f6af" 1384 | "checksum tokio-timer 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d03fa701f9578a01b7014f106b47f0a363b4727a7f3f75d666e312ab7acbbf1c" 1385 | "checksum tokio-tls 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "772f4b04e560117fe3b0a53e490c16ddc8ba6ec437015d91fa385564996ed913" 1386 | "checksum tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c" 1387 | "checksum tokio-uds 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "424c1ed15a0132251813ccea50640b224c809d6ceafb88154c1a8775873a0e89" 1388 | "checksum try-lock 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2" 1389 | "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" 1390 | "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" 1391 | "checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a" 1392 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" 1393 | "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" 1394 | "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" 1395 | "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" 1396 | "checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6" 1397 | "checksum utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd70f467df6810094968e2fce0ee1bd0e87157aceb026a8c083bcf5e25b9efe4" 1398 | "checksum uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363" 1399 | "checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d" 1400 | "checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051" 1401 | "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" 1402 | "checksum want 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a05d9d966753fa4b5c8db73fcab5eed4549cfe0e1e4e66911e5564a0085c35d1" 1403 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" 1404 | "checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" 1405 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" 1406 | "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1407 | "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1408 | "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" 1409 | --------------------------------------------------------------------------------