]> Repositorios git - scryer-prolog.git/commitdiff
merge crypto-impure feature into feature crypto-full
authorSkgland <[email protected]>
Mon, 25 May 2026 17:07:20 +0000 (19:07 +0200)
committerBennet Bleßmann <[email protected]>
Mon, 25 May 2026 17:07:20 +0000 (19:07 +0200)
Cargo.toml
src/machine/system_calls.rs

index 9c49139d0b47565c44b79bb8af0780bbc17159b9..dc17a2d9c398659e70cc5c8aad4da82ad16ff558 100644 (file)
@@ -23,7 +23,7 @@ default = ["all-simple-cross", "tls", "http"]
 # currently does not include
 # ffi due to libffi
 # tls, http due to openssl
-# crypto-impure due to ring
+# crypto-full due to ring
 all-pure = ["repl", "hostname"]
 # enables all features that are simple to get working for cross-compliation
 # currently all but tls, http as those depend on openssl
@@ -34,8 +34,7 @@ hostname = ["dep:hostname"]
 tls = ["dep:native-tls"]
 http = ["dep:warp", "dep:reqwest"]
 # crypto function that require non pure-rust dependencies
-crypto-impure = ["dep:ring"]
-crypto-full = ["crypto-impure"]
+crypto-full = ["dep:ring"]
 
 [lints.clippy]
 collapsible_match = "allow"
index 2954ba39fb055050d7611dfa05936376cc0d2f77..2ac93cb73c5baeea49faaac48124e132a14d6d91 100644 (file)
@@ -75,10 +75,8 @@ use crossterm::terminal::{disable_raw_mode, enable_raw_mode};
 use blake2::{Blake2b512, Blake2s256};
 
 #[cfg(feature = "crypto-full")]
-use ring::aead;
-#[cfg(feature = "crypto-impure")]
 use ring::{
-    digest, hkdf, hmac, pbkdf2,
+    aead, digest, hkdf, hmac, pbkdf2,
     rand::{SecureRandom, SystemRandom},
 };
 
@@ -7846,7 +7844,7 @@ impl Machine {
 
     #[inline(always)]
     pub(crate) fn crypto_random_byte(&mut self) {
-        #[cfg(feature = "crypto-impure")]
+        #[cfg(feature = "crypto-full")]
         {
             let arg = self.machine_st.registers[1];
             let mut bytes: [u8; 1] = [0];
@@ -7866,7 +7864,7 @@ impl Machine {
             self.machine_st.unify_fixnum(byte, arg);
         }
 
-        #[cfg(not(feature = "crypto-impure"))]
+        #[cfg(not(feature = "crypto-full"))]
         {
             let stub_gen = || functor_stub(atom!("crypto_random_byte"), 1);
             let err = self.machine_st.missing_feature_error(atom!("crypto"));
@@ -8004,7 +8002,7 @@ impl Machine {
                 )
             }
             _ => {
-                #[cfg(feature = "crypto-impure")]
+                #[cfg(feature = "crypto-full")]
                 {
                     let ints = digest::digest(
                         match algorithm {
@@ -8030,7 +8028,7 @@ impl Machine {
                         )
                     )
                 }
-                #[cfg(not(feature = "crypto-impure"))]
+                #[cfg(not(feature = "crypto-full"))]
                 {
                     let stub_gen = || functor_stub(atom!("crypto_data_hash"), 1);
                     let err = self.machine_st.missing_feature_error(atom!("crypto"));
@@ -8048,7 +8046,7 @@ impl Machine {
     pub(crate) fn crypto_hmac(&mut self) {
         let stub_gen = || functor_stub(atom!("crypto_data_hash"), 3);
 
-        #[cfg(feature = "crypto-impure")]
+        #[cfg(feature = "crypto-full")]
         {
             let encoding = cell_as_atom!(self.deref_register(2));
             let data = self.string_encoding_bytes(self.machine_st.registers[1], encoding);
@@ -8084,7 +8082,7 @@ impl Machine {
             unify!(self.machine_st, self.machine_st.registers[4], ints_list);
         }
 
-        #[cfg(not(feature = "crypto-impure"))]
+        #[cfg(not(feature = "crypto-full"))]
         {
             let err = self.machine_st.missing_feature_error(atom!("crypto"));
             let exception = self.machine_st.error_form(err, stub_gen());
@@ -8096,7 +8094,7 @@ impl Machine {
     pub(crate) fn crypto_data_hkdf(&mut self) {
         let stub1_gen = || functor_stub(atom!("crypto_data_hkdf"), 4);
 
-        #[cfg(feature = "crypto-impure")]
+        #[cfg(feature = "crypto-full")]
         {
             let encoding = cell_as_atom!(self.deref_register(2));
             let data = self.string_encoding_bytes(self.machine_st.registers[1], encoding);
@@ -8167,7 +8165,7 @@ impl Machine {
             unify!(self.machine_st, self.machine_st.registers[7], ints_list);
         }
 
-        #[cfg(not(feature = "crypto-impure"))]
+        #[cfg(not(feature = "crypto-full"))]
         {
             let err = self.machine_st.missing_feature_error(atom!("crypto"));
             let exception = self.machine_st.error_form(err, stub1_gen());
@@ -8179,7 +8177,7 @@ impl Machine {
     pub(crate) fn crypto_password_hash(&mut self) {
         let stub1_gen = || functor_stub(atom!("crypto_password_hash"), 3);
 
-        #[cfg(feature = "crypto-impure")]
+        #[cfg(feature = "crypto-full")]
         {
             use std::num::NonZeroU32;
             let data = self
@@ -8235,7 +8233,7 @@ impl Machine {
             unify!(self.machine_st, self.machine_st.registers[4], ints_list);
         }
 
-        #[cfg(not(feature = "crypto-impure"))]
+        #[cfg(not(feature = "crypto-full"))]
         {
             let err = self.machine_st.missing_feature_error(atom!("crypto"));
             let exception = self.machine_st.error_form(err, stub1_gen());
@@ -9602,7 +9600,7 @@ impl Machine {
     }
 }
 
-#[cfg(feature = "crypto-impure")]
+#[cfg(feature = "crypto-full")]
 fn rng() -> &'static dyn SecureRandom {
     use std::ops::Deref;
 
@@ -9611,10 +9609,10 @@ fn rng() -> &'static dyn SecureRandom {
     RANDOM.deref()
 }
 
-#[cfg(feature = "crypto-impure")]
+#[cfg(feature = "crypto-full")]
 struct MyKey<T: core::fmt::Debug + PartialEq>(T);
 
-#[cfg(feature = "crypto-impure")]
+#[cfg(feature = "crypto-full")]
 impl hkdf::KeyType for MyKey<usize> {
     fn len(&self) -> usize {
         self.0