Makefile, updated readme

This commit is contained in:
Dennis Schwerdel 2016-07-02 11:24:49 +02:00
parent d52d7e3aaf
commit 883049986b
4 changed files with 44 additions and 3 deletions

View File

@ -90,7 +90,7 @@ This project follows [semantic versioning](http://semver.org).
- [changed] Increased ChaCha20Poly1305 nonce from 8 to 12 bytes (**incompatible**) - [changed] Increased ChaCha20Poly1305 nonce from 8 to 12 bytes (**incompatible**)
- [changed] Updated dependency versions - [changed] Updated dependency versions
- [changed] More tests - [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 - [fixed] Forgot to call `sodium_init`, huge performance increase
### v0.2.0 (2015-11-26) ### v0.2.0 (2015-11-26)

21
Makefile Normal file
View File

@ -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

View File

@ -36,13 +36,33 @@ somewhat stable state. VpnCloud features the following functionality:
* Support for tunneled VLans (TAP device) * 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 ### Contributions welcome
There are several areas in which still some work has to be done and where There are several areas in which still some work has to be done and where
contributions are very welcome: contributions are very welcome:
* **Linux packages**: VpnCloud is stable enough to be packaged for Linux * **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 * **Security review**: The security has been implemented with strong security
primitives but it would great if a cryptography expert could verify the primitives but it would great if a cryptography expert could verify the
system. system.

View File

@ -10,7 +10,7 @@ fn main() {
let target = env::var("TARGET").unwrap(); let target = env::var("TARGET").unwrap();
let dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); let dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
let libsodium_dir = dir.join("libsodium"); 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"); let libsodium_target_file = libsodium_target_dir.join("libsodium.a");
if ! libsodium_target_file.exists() { if ! libsodium_target_file.exists() {
fs::create_dir_all(&libsodium_target_dir).unwrap(); fs::create_dir_all(&libsodium_target_dir).unwrap();