mirror of
https://github.com/saymrwulf/curve25519-dalek-source.git
synced 2026-09-09 21:10:44 +00:00
Make serde an optional feature
This commit is contained in:
parent
7c32271346
commit
69fd268aa4
5 changed files with 22 additions and 15 deletions
|
|
@ -7,6 +7,7 @@ rust:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- TEST_COMMAND=test FEATURES=--features="yolocrypto"
|
- TEST_COMMAND=test FEATURES=--features="yolocrypto"
|
||||||
|
- TEST_COMMAND=test FEATURES=--features="yolocrypto serde"
|
||||||
- TEST_COMMAND=test FEATURES=--features="yolocrypto nightly"
|
- TEST_COMMAND=test FEATURES=--features="yolocrypto nightly"
|
||||||
- TEST_COMMAND=bench FEATURES=--features="yolocrypto bench"
|
- TEST_COMMAND=bench FEATURES=--features="yolocrypto bench"
|
||||||
- TEST_COMMAND=bench FEATURES=--features="yolocrypto nightly bench"
|
- TEST_COMMAND=bench FEATURES=--features="yolocrypto nightly bench"
|
||||||
|
|
|
||||||
10
Cargo.toml
10
Cargo.toml
|
|
@ -20,12 +20,7 @@ travis-ci = { repository = "isislovecruft/curve25519-dalek", branch = "master"}
|
||||||
|
|
||||||
[dependencies.serde]
|
[dependencies.serde]
|
||||||
version = "1.0"
|
version = "1.0"
|
||||||
|
optional = true
|
||||||
[dependencies.serde_json]
|
|
||||||
version = "1.0"
|
|
||||||
|
|
||||||
[dependencies.serde_cbor]
|
|
||||||
version = "0.6"
|
|
||||||
|
|
||||||
[dependencies.arrayref]
|
[dependencies.arrayref]
|
||||||
version = "0.3.3"
|
version = "0.3.3"
|
||||||
|
|
@ -44,6 +39,9 @@ version = "^0.6"
|
||||||
[dev-dependencies.sha2]
|
[dev-dependencies.sha2]
|
||||||
version = "0.4"
|
version = "0.4"
|
||||||
|
|
||||||
|
[dev-dependencies.serde_cbor]
|
||||||
|
version = "0.6"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
nightly = ["radix_51"]
|
nightly = ["radix_51"]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
|
|
|
||||||
12
src/curve.rs
12
src/curve.rs
|
|
@ -286,11 +286,12 @@ impl CompressedMontgomeryU {
|
||||||
// structs containing `ExtendedPoint`s and use Serde's derived
|
// structs containing `ExtendedPoint`s and use Serde's derived
|
||||||
// serializers to serialize those structures.
|
// serializers to serialize those structures.
|
||||||
|
|
||||||
use serde::{Serialize, Deserialize};
|
#[cfg(feature = "serde")]
|
||||||
use serde::{Serializer, Deserializer};
|
use serde::{self, Serialize, Deserialize, Serializer, Deserializer};
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
use serde::de::Visitor;
|
use serde::de::Visitor;
|
||||||
use serde;
|
|
||||||
|
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
impl Serialize for ExtendedPoint {
|
impl Serialize for ExtendedPoint {
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where S: Serializer
|
where S: Serializer
|
||||||
|
|
@ -299,6 +300,7 @@ impl Serialize for ExtendedPoint {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
impl<'de> Deserialize<'de> for ExtendedPoint {
|
impl<'de> Deserialize<'de> for ExtendedPoint {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer<'de>
|
where D: Deserializer<'de>
|
||||||
|
|
@ -1610,7 +1612,7 @@ mod test {
|
||||||
mod vartime {
|
mod vartime {
|
||||||
use super::super::*;
|
use super::super::*;
|
||||||
use super::{A_SCALAR, B_SCALAR, A_TIMES_BASEPOINT, DOUBLE_SCALAR_MULT_RESULT};
|
use super::{A_SCALAR, B_SCALAR, A_TIMES_BASEPOINT, DOUBLE_SCALAR_MULT_RESULT};
|
||||||
|
|
||||||
/// Test double_scalar_mult_vartime vs ed25519.py
|
/// Test double_scalar_mult_vartime vs ed25519.py
|
||||||
#[test]
|
#[test]
|
||||||
fn double_scalar_mult_basepoint_vs_ed25519py() {
|
fn double_scalar_mult_basepoint_vs_ed25519py() {
|
||||||
|
|
@ -1630,9 +1632,11 @@ mod test {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
use serde_cbor;
|
use serde_cbor;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
fn serde_cbor_basepoint_roundtrip() {
|
fn serde_cbor_basepoint_roundtrip() {
|
||||||
let output = serde_cbor::to_vec(&constants::ED25519_BASEPOINT).unwrap();
|
let output = serde_cbor::to_vec(&constants::ED25519_BASEPOINT).unwrap();
|
||||||
let parsed: ExtendedPoint = serde_cbor::from_slice(&output).unwrap();
|
let parsed: ExtendedPoint = serde_cbor::from_slice(&output).unwrap();
|
||||||
|
|
|
||||||
10
src/decaf.rs
10
src/decaf.rs
|
|
@ -116,11 +116,12 @@ impl Identity for CompressedDecaf {
|
||||||
// structs containing `DecafPoint`s and use Serde's derived
|
// structs containing `DecafPoint`s and use Serde's derived
|
||||||
// serializers to serialize those structures.
|
// serializers to serialize those structures.
|
||||||
|
|
||||||
use serde::{Serialize, Deserialize};
|
#[cfg(feature = "serde")]
|
||||||
use serde::{Serializer, Deserializer};
|
use serde::{self, Serialize, Deserialize, Serializer, Deserializer};
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
use serde::de::Visitor;
|
use serde::de::Visitor;
|
||||||
use serde;
|
|
||||||
|
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
impl Serialize for DecafPoint {
|
impl Serialize for DecafPoint {
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where S: Serializer
|
where S: Serializer
|
||||||
|
|
@ -129,6 +130,7 @@ impl Serialize for DecafPoint {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
impl<'de> Deserialize<'de> for DecafPoint {
|
impl<'de> Deserialize<'de> for DecafPoint {
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
||||||
where D: Deserializer<'de>
|
where D: Deserializer<'de>
|
||||||
|
|
@ -436,9 +438,11 @@ mod test {
|
||||||
use curve::Identity;
|
use curve::Identity;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
use serde_cbor;
|
use serde_cbor;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
#[cfg(feature = "serde")]
|
||||||
fn serde_cbor_basepoint_roundtrip() {
|
fn serde_cbor_basepoint_roundtrip() {
|
||||||
let output = serde_cbor::to_vec(&constants::DECAF_ED25519_BASEPOINT).unwrap();
|
let output = serde_cbor::to_vec(&constants::DECAF_ED25519_BASEPOINT).unwrap();
|
||||||
let parsed: DecafPoint = serde_cbor::from_slice(&output).unwrap();
|
let parsed: DecafPoint = serde_cbor::from_slice(&output).unwrap();
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,10 @@ extern crate arrayref;
|
||||||
extern crate generic_array;
|
extern crate generic_array;
|
||||||
extern crate digest;
|
extern crate digest;
|
||||||
|
|
||||||
//#[cfg(feature = "serde")]
|
#[cfg(feature = "serde")]
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
|
#[cfg(all(test, feature = "serde"))]
|
||||||
extern crate serde_cbor;
|
extern crate serde_cbor;
|
||||||
extern crate serde_json;
|
|
||||||
|
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
extern crate core;
|
extern crate core;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue