-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
59 lines (45 loc) · 1.84 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[package]
name = "osistack"
version = "0.0.1"
edition = "2021"
authors = ["Ernst Rohlicek <ernst@rohlicek.at>"]
repository = "https://github.com/ERnsTL/osi-stack"
license = "GNU/LGPL-3.0+"
description = "OSI (Open Systems Interconnection) Stack"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# raw sockets
# crate option 1
#afpacket = "0.2.3"
# ^ version does not have EtherType filter (either does pnet in crates.io version)
afpacket = {git = "https://github.com/ERnsTL/afpacket.git" }
#nom = "7.1.3"
# crate option 2
#rustix = { version = "0.38.28", default-features = false, features = ["net"] }
# TODO anyone offering Windows TAP? And MacOS TAP (feth)?
#tun-tap = { version = "0.1.4", default-features = false } # no tokio # features = ["libc"] would add set_nonblocking() feature
#tunio = "0.3.0"
netconfig = "0.4.0" # TODO this does a lot of things we dont need (IP-related stuff)
# Ethernet frame parser
#ethernet = "0.1.1" # most minimal, but didnt compile
# alternative (many IP suite protocols): https://crates.io/crates/etherparse
etherparse = "0.13.0"
advmac = "1.0.3" # used by pdu+netconfig
# alternative (fuzzed, datalink+network+transport layer development possible, Linux Windows MacOS): https://crates.io/crates/pnet_datalink
#[dependencies.pnet]
#version = "0.34.0"
# Inter-Layer communication
rtrb = "0.3.0"
# Echo Request and Echo Response NPDU correlation
rand = "0.8.5"
chrono = "0.4.31"
# remove logging level output more detailed than certain level, at compile-time (!)
log = {version = "0.4", features = ["max_level_debug", "release_max_level_info"] }
simplelog = "^0.12.0"
# TODO only lib needs the dependencies - optimize so that binaries dont also have them included
[lib]
name = "osistack"
path = "src/lib.rs"
[[bin]]
name = "osiping"
path = "src/bin/osiping/main.rs"