ip-in-subnet

Checking that subnet contains an IP address.

Usage

To use sql-builder, first add this to your Cargo.toml:

toml [dependencies] sql-builder = "0.1"

Examples

Check that subnet contains an interface.

``` extern crate ipinsubnet;

use ipinsubnet::ifaceinsubnet;

let res = ifaceinsubnet("192.168.182.1", "192.168.182.0/24").unwrap(); assert!(res); ```

``` extern crate ipinsubnet;

use ipinsubnet::ifaceinsubnet;

let res = ifaceinsubnet("192.168.183.1", "192.168.182.0/24").unwrap(); assert!(!res); ```

Check that any subnet contains an interface.

``` extern crate ipinsubnet;

use ipinsubnet::ifaceinany_subnet;

let subnets = vec!["192.168.181.0/24", "192.168.182.0/24"]; let res = ifaceinany_subnet("192.168.182.1", &subnets).unwrap(); assert!(res); ```

``` extern crate ipinsubnet;

use ipinsubnet::ifaceinany_subnet;

let subnets = vec!["192.168.181.0/24", "192.168.182.0/24"]; let res = ifaceinany_subnet("192.168.183.1", &subnets).unwrap(); assert!(!res); ```

Check that all subnets contains an interface.

``` extern crate ipinsubnet;

use ipinsubnet::ifaceinall_subnets;

let subnets = vec!["192.168.182.0/24", "192.168.182.1/32"]; let res = ifaceinall_subnets("192.168.182.1", &subnets).unwrap(); assert!(res); ```

``` extern crate ipinsubnet;

use ipinsubnet::ifaceinall_subnets;

let subnets = vec!["192.168.182.0/24", "192.168.182.2/32"]; let res = ifaceinall_subnets("192.168.182.1", &subnets).unwrap(); assert!(!res); ```

Check that any subnet contains any interface.

``` extern crate ipinsubnet;

use ipinsubnet::anyifaceinanysubnet;

let ifaces = vec!["192.168.182.1", "192.168.182.2"]; let subnets = vec!["192.168.181.0/24", "192.168.182.2/32"]; let res = anyifaceinanysubnet(&ifaces, &subnets).unwrap(); assert!(res); ```

``` extern crate ipinsubnet;

use ipinsubnet::anyifaceinanysubnet;

let ifaces = vec!["192.168.182.1", "192.168.182.2"]; let subnets = vec!["192.168.181.0/24", "192.168.182.3/32"]; let res = anyifaceinanysubnet(&ifaces, &subnets).unwrap(); assert!(!res); ```