2018-07-02 11:00:56 +02:00
|
|
|
|
# A RPKI Relying Party in Rust
|
|
|
|
|
|
|
|
|
|
## Getting Started (aka What’s that Rust thing you keep going on about?)
|
|
|
|
|
|
|
|
|
|
If you don’t have it yet, you need Rust. There’s a tool called *rustup*
|
|
|
|
|
for that. If you feel lucky, simply do:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
curl https://sh.rustup.rs -sSf | sh
|
|
|
|
|
```
|
|
|
|
|
|
2018-07-02 18:17:14 +02:00
|
|
|
|
or get the file, have a look and then run it manually. Follow the
|
|
|
|
|
instructions (if any) to get rustup and cargo, the rust build tool, into
|
|
|
|
|
your path.
|
2018-07-02 11:00:56 +02:00
|
|
|
|
|
2018-07-02 18:17:14 +02:00
|
|
|
|
If you already have Rust, make sure you have a reasonably new version. The
|
|
|
|
|
code assumes that you have the latest stable version. If in doubt, run
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
rustup update
|
|
|
|
|
```
|
|
|
|
|
|
2018-07-20 14:32:59 +02:00
|
|
|
|
## Building and Running
|
|
|
|
|
|
2018-07-02 18:17:14 +02:00
|
|
|
|
In the directory you cloned this repository to, say
|
2018-07-02 11:00:56 +02:00
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo build
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This will build the whole thing (or fail, of course). If it succeeds, you
|
|
|
|
|
can run
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo run
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
to run the binary that has been built. At this point, it will rsync all
|
2018-07-20 14:32:59 +02:00
|
|
|
|
repository instances into `./rpki-cache/repository` and validate them. You
|
|
|
|
|
will need the `rsync` executable in your path.
|
|
|
|
|
|
|
|
|
|
To get a better performance, build and run in release mode like so:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo run --release
|
|
|
|
|
```
|
2018-07-02 11:00:56 +02:00
|
|
|
|
|
2018-07-20 14:32:59 +02:00
|
|
|
|
It will then take forever to build but is quick to run.
|
|
|
|
|
|
|
|
|
|
There is a number of command line options available. You can have cargo pass
|
|
|
|
|
them to the executable after a double hyphen. For instance, if to find out
|
|
|
|
|
about them, run
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo run --relase -- -h
|
|
|
|
|
```
|