diff --git a/CHANGELOG.md b/CHANGELOG.md index dd07273..5640d78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -90,7 +90,7 @@ This project follows [semantic versioning](http://semver.org). - [changed] Increased ChaCha20Poly1305 nonce from 8 to 12 bytes (**incompatible**) - [changed] Updated dependency versions - [changed] More tests -- [changed] Removed more "unsafe" blocks (**fixes security issue**) +- [changed] Removed more "unsafe" blocks - [fixed] Forgot to call `sodium_init`, huge performance increase ### v0.2.0 (2015-11-26) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..dfe7c2e --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +.PHONY: default +default: test build + +.PHONY: build +build: + git submodule update --init + cargo build --release + +.PHONY: test +test: + git submodule update --init + cargo test + +.PHONY: bench +bench: + git submodule update --init + cargo bench --features bench + +.PHONY: clean +clean: + rm -rf target diff --git a/README.md b/README.md index 7683db5..9467a2d 100644 --- a/README.md +++ b/README.md @@ -36,13 +36,33 @@ somewhat stable state. VpnCloud features the following functionality: * Support for tunneled VLans (TAP device) +### Installing + +##### Compiling from source +Prerequisites: Git, [Cargo](https://www.rust-lang.org/install.html), + Full C build environment including autotools (for building libsodium) + +The checked-out code can be compiled with ``make``. +The binary could then be found in `target/release/vpncloud`. +The tests can be run via ``cargo test``. + + +##### Debian / Ubuntu +Deb packages for each release can be found in the [releases](https://github.com/dswd/vpncloud.rs/releases) section. +Currently only packages for amd64 are available (I am accepting help on building and packaging for other platforms). + + +##### Arch Linux (AUR) +There is a [VpnCloud package for Arch Linux](https://aur.archlinux.org/packages/vpncloud/) thanks to Oscar Rainford (fourbytes). + + ### Contributions welcome There are several areas in which still some work has to be done and where contributions are very welcome: * **Linux packages**: VpnCloud is stable enough to be packaged for Linux - distributions. + distributions. Maintainers who want to package VpnCloud are very welcome. * **Security review**: The security has been implemented with strong security primitives but it would great if a cryptography expert could verify the system. diff --git a/build.rs b/build.rs index 0ab8c41..afd2751 100644 --- a/build.rs +++ b/build.rs @@ -10,7 +10,7 @@ fn main() { let target = env::var("TARGET").unwrap(); let dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); let libsodium_dir = dir.join("libsodium"); - let libsodium_target_dir = dir.join(".sodium-build").join(&target); + let libsodium_target_dir = dir.join("target/sodium-build").join(&target); let libsodium_target_file = libsodium_target_dir.join("libsodium.a"); if ! libsodium_target_file.exists() { fs::create_dir_all(&libsodium_target_dir).unwrap();