pub mod cat_keys {
pub const CATREPLAY: i32 = 308;
pub const CATPOR: i32 = 309;
pub const CATV: i32 = 310;
pub const CATNIP: i32 = 311;
pub const CATU: i32 = 312;
pub const CATM: i32 = 313;
pub const CATALPN: i32 = 314;
pub const CATH: i32 = 315;
pub const CATGEOISO3166: i32 = 316;
pub const CATGEOCOORD: i32 = 317;
pub const CATGEOALT: i32 = 318;
pub const CATTPK: i32 = 319;
pub const CATIFDATA: i32 = 320;
pub const CATDPOP: i32 = 321;
pub const CATIF: i32 = 322;
pub const CATR: i32 = 323;
pub const CATTPRINT: i32 = 324;
}
pub mod uri_components {
pub const SCHEME: i32 = 0;
pub const HOST: i32 = 1;
pub const PORT: i32 = 2;
pub const PATH: i32 = 3;
pub const QUERY: i32 = 4;
pub const PARENT_PATH: i32 = 5;
pub const FILENAME: i32 = 6;
pub const STEM: i32 = 7;
pub const EXTENSION: i32 = 8;
}
pub mod match_types {
pub const EXACT: i32 = 0;
pub const PREFIX: i32 = 1;
pub const SUFFIX: i32 = 2;
pub const CONTAINS: i32 = 3;
pub const REGEX: i32 = 4;
pub const SHA256: i32 = -1;
pub const SHA512_256: i32 = -2;
}
pub mod renewal_types {
pub const AUTOMATIC: i32 = 0;
pub const COOKIE: i32 = 1;
pub const HEADER: i32 = 2;
pub const REDIRECT: i32 = 3;
}
pub mod renewal_params {
pub const TYPE: i32 = 0;
pub const EXPADD: i32 = 1;
pub const DEADLINE: i32 = 2;
pub const COOKIE_NAME: i32 = 3;
pub const HEADER_NAME: i32 = 4;
pub const COOKIE_PARAMS: i32 = 5;
pub const HEADER_PARAMS: i32 = 6;
pub const STATUS_CODE: i32 = 7;
}
pub mod replay_values {
pub const PERMITTED: i32 = 0;
pub const PROHIBITED: i32 = 1;
pub const REUSE_DETECTION: i32 = 2;
}
pub mod tprint_params {
pub const FINGERPRINT_TYPE: i32 = 0;
pub const FINGERPRINT_VALUE: i32 = 1;
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(i64)] pub enum FingerprintType {
JA3 = 0,
JA3S = 1,
JA4 = 2,
JA4S = 3,
JA4H = 4,
JA4L = 5,
JA4X = 6,
JA4SSH = 7,
JA4T = 8,
JA4TS = 9,
JA4TSCAN = 10,
JA4D = 11,
JA4D6 = 12,
}
impl FingerprintType {
pub fn as_str(&self) -> &'static str {
match self {
FingerprintType::JA3 => "JA3",
FingerprintType::JA3S => "JA3S",
FingerprintType::JA4 => "JA4",
FingerprintType::JA4S => "JA4S",
FingerprintType::JA4H => "JA4H",
FingerprintType::JA4L => "JA4L",
FingerprintType::JA4X => "JA4X",
FingerprintType::JA4SSH => "JA4SSH",
FingerprintType::JA4T => "JA4T",
FingerprintType::JA4TS => "JA4TS",
FingerprintType::JA4TSCAN => "JA4TScan",
FingerprintType::JA4D => "JA4D",
FingerprintType::JA4D6 => "JA4D6",
}
}
pub fn from_i64(val: i64) -> Option<Self> {
match val {
0 => Some(FingerprintType::JA3),
1 => Some(FingerprintType::JA3S),
2 => Some(FingerprintType::JA4),
3 => Some(FingerprintType::JA4S),
4 => Some(FingerprintType::JA4H),
5 => Some(FingerprintType::JA4L),
6 => Some(FingerprintType::JA4X),
7 => Some(FingerprintType::JA4SSH),
8 => Some(FingerprintType::JA4T),
9 => Some(FingerprintType::JA4TS),
10 => Some(FingerprintType::JA4TSCAN),
11 => Some(FingerprintType::JA4D),
12 => Some(FingerprintType::JA4D6),
_ => None,
}
}
}
impl std::fmt::Display for FingerprintType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.as_str())
}
}
pub mod cwt_keys {
pub const ISS: i32 = 1;
pub const SUB: i32 = 2;
pub const AUD: i32 = 3;
pub const EXP: i32 = 4;
pub const NBF: i32 = 5;
pub const IAT: i32 = 6;
pub const CTI: i32 = 7;
}
pub mod cose_labels {
pub const ALG: i32 = 1;
pub const KID: i32 = 4;
}
pub mod cose_algs {
pub const HMAC_SHA_256: i32 = 5;
}