chiark / gitweb /
support: Move digestrw and timedfd
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 May 2022 19:37:30 +0000 (20:37 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 14 May 2022 20:40:33 +0000 (21:40 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 files changed:
Cargo.lock
Cargo.toml
src/bundles.rs
src/crates.rs
src/imports.rs
src/lib.rs
support/Cargo.toml
support/crates.rs
support/digestrw.rs [moved from src/digestrw.rs with 82% similarity]
support/imports.rs
support/lib.rs
support/timedfd.rs [moved from src/timedfd.rs with 100% similarity]

index 735bead6d1e454a79d127c86856f92e4370b3a93..61e09673e3b9dc1f0834e1ed0602e154719dd77d 100644 (file)
@@ -2682,7 +2682,6 @@ dependencies = [
  "const-default",
  "crossbeam-utils",
  "delegate",
- "digest 0.10.3",
  "downcast-rs",
  "educe",
  "either",
@@ -2698,7 +2697,6 @@ dependencies = [
  "lazy-init",
  "lazy-regex",
  "libc",
- "mio 0.8.2",
  "num",
  "num-traits",
  "once_cell",
@@ -2709,7 +2707,6 @@ dependencies = [
  "regex",
  "serde",
  "serde_with",
- "sha2 0.10.2",
  "slotmap-fork-otter",
  "structopt",
  "strum",
@@ -2822,11 +2819,13 @@ dependencies = [
  "chrono-tz",
  "console",
  "derive-into-owned",
+ "digest 0.10.3",
  "fehler",
  "flexi_logger",
  "fs2",
  "lazy_static",
  "log",
+ "mio 0.8.2",
  "nix 0.23.1",
  "num-derive",
  "num-traits",
@@ -2839,6 +2838,7 @@ dependencies = [
  "rmp-serde",
  "serde",
  "serde_with",
+ "sha2 0.10.2",
  "strum",
  "toml",
  "unicode-width",
index 0a04a8245fe02b4e203320c8c44562f0f200383b..b2d8854ec6ff9a30cf8fd7e870c8bebf5b028dc5 100644 (file)
@@ -38,7 +38,6 @@ boolinator="2"
 cast_trait_object="0.1"
 crossbeam-utils="0.8"
 delegate="0.6"
-digest="0.10"
 downcast-rs="1"
 educe="0.4"
 either="1"
@@ -57,7 +56,6 @@ ordered-float="2"
 percent-encoding="2"
 regex="1"
 structopt="0.3"
-sha2="0.10"
 subtle="2.4"
 tempfile="3"
 tera="1.10"
@@ -76,7 +74,6 @@ const-default = { version="1",    features=["derive"      ] }
 enum-map     = { version="2"    , features=["serde"       ] }
 image = { version = "0.24", default-features=false, features=["jpeg","png"] }
 index_vec    = { version="0.1.1", features=["serde"       ] }
-mio          = { version="0.8",   features=["os-ext", "os-poll" ] }
 
 slotmap = { package="slotmap-fork-otter", version="1", git="https://github.com/ijackson/slotmap", branch="slotmap-fork-otter", features=["serde"] }
 
index 40b70f271450462c7decd44d0b2e5ba4b2af6466..089286f39b7dec078b98025d9feae273af34a4a5 100644 (file)
@@ -1374,3 +1374,18 @@ fn id_file_parse() {
   check_n("00000.xyz", "bad extension");
   check_n("65536.zip", "bad index");
 }
+
+#[test]
+#[cfg(not(miri))]
+fn test_digest_write() {
+  let ibuffer = b"xyz";
+  let exp = Sha512_256::digest(&ibuffer[..]);
+  let mut obuffer = [0;4];
+  let inner = &mut obuffer[..];
+  let mut dw = bundles::DigestWrite::new(inner);
+  assert_eq!( dw.write(&ibuffer[..]).unwrap(), 3);
+  let (got, recov) = dw.finish();
+  assert_eq!( recov, b"\0" );
+  assert_eq!( got, exp );
+  assert_eq!( &obuffer, b"xyz\0" );
+}
index e670f638f47376985b9090c9c032718f40e7269e..c2b281b88ed15a65925086835efa24876a661b51 100644 (file)
@@ -11,7 +11,6 @@ pub use base64;
 pub use boolinator;
 pub use cast_trait_object;
 pub use delegate;
-pub use digest;
 pub use educe;
 pub use either;
 pub use env_logger;
@@ -24,7 +23,6 @@ pub use libc;
 pub use once_cell;
 pub use ordered_float;
 pub use regex;
-pub use sha2;
 pub use slotmap;
 pub use tera;
 pub use uds;
index bf7b81be33bc943112814ab2fde1c1faa7678497..969f7427056f2c852d638e7f73401e83298638c1 100644 (file)
@@ -34,7 +34,6 @@ pub use boolinator::Boolinator as _;
 pub use cast_trait_object::{dyn_upcast, DynCastExt};
 pub use const_default::ConstDefault;
 pub use delegate::delegate;
-pub use digest::Digest;
 pub use downcast_rs::{impl_downcast, Downcast};
 pub use educe::Educe;
 pub use either::{Either, Left, Right};
@@ -48,7 +47,6 @@ pub use percent_encoding::percent_decode_str;
 pub use percent_encoding::utf8_percent_encode;
 pub use percent_encoding::NON_ALPHANUMERIC;
 pub use regex::Regex;
-pub use sha2::{Sha512, Sha512_256};
 pub use slotmap::{dense::DenseSlotMap, SparseSecondaryMap, Key as _};
 pub use subtle::ConstantTimeEq;
 pub use tempfile::{self, NamedTempFile};
@@ -89,7 +87,6 @@ pub use crate::commands::{MgmtGameInstruction, MgmtGameResponse};
 pub use crate::commands::{MgmtBundleList, MgmtGameUpdateMode};
 pub use crate::commands::{ProgressUpdateMode};
 pub use crate::debugreader::DebugReader;
-pub use crate::digestrw::{self, *};
 pub use crate::error::*;
 pub use crate::fastsplit::*;
 pub use crate::gamestate::*;
@@ -111,7 +108,6 @@ pub use crate::shapelib::{LibraryLoadError};
 pub use crate::slotmap_slot_idx::*;
 pub use crate::spec::*;
 pub use crate::spec::piece_specs::{FaceColourSpecs, SimpleCommon};
-pub use crate::timedfd::*;
 pub use crate::updates::*;
 pub use crate::utils::*;
 pub use crate::ui::*;
index d9dcc27da3f00d02348ccd6d9efa68a44bbae61b..f5840005e06cfe605c149f9a797a27b7c7cbe42f 100644 (file)
@@ -30,7 +30,6 @@ pub mod commands;
 pub mod currency;
 pub mod deck;
 pub mod dice;
-pub mod digestrw;
 pub mod debugreader;
 pub mod error;
 pub mod fastsplit;
@@ -48,7 +47,6 @@ pub mod pcrender;
 pub mod pieces;
 pub mod shapelib;
 pub mod spec;
-pub mod timedfd;
 pub mod updates;
 pub mod ui;
 pub mod utils;
index 70e7610ef1311f768fee4748d0db3b5ff6c802fc..020763dae436bfe2bc08b46cd016555a53096469 100644 (file)
@@ -32,6 +32,7 @@ chrono="0.4"
 chrono-tz="0.6"
 console="0.15"
 derive-into-owned="0.2"
+digest="0.10"
 fehler="1"
 fs2="0.4"
 lazy_static="1"
@@ -44,10 +45,12 @@ pwd="1"
 rand="0.8"
 rmp="0.8"
 rmp-serde="1"
+sha2="0.10"
 toml="0.5"
 unicode-width="0.1"
 
 flexi_logger = { version="0.22" , features=["specfile"    ] }
+mio          = { version="0.8",   features=["os-ext", "os-poll" ] }
 
 # Repeated in other Cargo.toml's because importing does not work properly
 num-traits="0.2"
index fc964f5ff50371e82b3bbd9fd22ac66dbe2984fe..32bcc0bf06e3423457ced0d8552608e55a14f5d9 100644 (file)
@@ -9,6 +9,7 @@ pub use otter_base;
 pub use anyhow;
 pub use chrono;
 pub use chrono_tz;
+pub use digest;
 pub use flexi_logger;
 pub use fs2;
 pub use lazy_static;
@@ -18,5 +19,6 @@ pub use parking_lot;
 pub use pwd;
 pub use rand;
 pub use rmp_serde;
+pub use sha2;
 pub use toml;
 pub use unicode_width;
similarity index 82%
rename from src/digestrw.rs
rename to support/digestrw.rs
index 08037393a458f7ef30e3b577bcbc5f7de0a4c88a..1b658b04dc8a6a90428c882c94856f66a3e28f71 100644 (file)
@@ -2,7 +2,6 @@
 // SPDX-License-Identifier: AGPL-3.0-or-later
 // There is NO WARRANTY.
 
-use crate::crates::*;
 use crate::prelude::*;
 
 #[derive(Debug,Copy,Clone)]
@@ -76,18 +75,3 @@ impl<D: Digest, W: Write> Write for DigestWrite<D, W> {
   #[throws(io::Error)]
   fn flush(&mut self) { self.w.flush()? }
 }
-
-#[test]
-#[cfg(not(miri))]
-fn test_digest_write() {
-  let ibuffer = b"xyz";
-  let exp = Sha512_256::digest(&ibuffer[..]);
-  let mut obuffer = [0;4];
-  let inner = &mut obuffer[..];
-  let mut dw = bundles::DigestWrite::new(inner);
-  assert_eq!( dw.write(&ibuffer[..]).unwrap(), 3);
-  let (got, recov) = dw.finish();
-  assert_eq!( recov, b"\0" );
-  assert_eq!( got, exp );
-  assert_eq!( &obuffer, b"xyz\0" );
-}
index 17df3a6358831f47b30e0be0d33720712dbc22e4..00198bba7bfa41b5015de4da8607d03fdae8ea1a 100644 (file)
@@ -32,6 +32,7 @@ pub use std::time::{self, Duration, Instant};
 pub use anyhow::{anyhow, ensure, Context};
 pub use byteorder::{BigEndian, LittleEndian, ReadBytesExt, WriteBytesExt};
 pub use derive_into_owned::IntoOwned;
+pub use digest::Digest;
 pub use flexi_logger::LogSpecification;
 pub use fs2::FileExt;
 pub use lazy_static::lazy_static;
@@ -53,6 +54,7 @@ pub use serde::de::Error as _;
 pub use serde::{Deserializer, Serializer};
 pub use serde_with::DeserializeFromStr;
 pub use serde_with::SerializeDisplay;
+pub use sha2::{Sha512, Sha512_256};
 pub use strum::{EnumCount, EnumDiscriminants};
 pub use strum::{EnumString, EnumIter, EnumMessage, EnumProperty};
 pub use strum::{AsRefStr, IntoEnumIterator, IntoStaticStr};
@@ -72,6 +74,7 @@ pub use crate::authproofs::AuthorisationSuperuser;
 pub use crate::childio;
 pub use crate::config::*;
 pub use crate::debugmutex::DebugIdentify;
+pub use crate::digestrw::{self, *};
 pub use crate::fake_rng::*;
 pub use crate::fake_time::*;
 pub use crate::packetframe::{FrameReader, FrameWriter, ReadFrame, WriteFrame};
@@ -80,6 +83,7 @@ pub use crate::packetframe::{PacketFrameReadError, PacketFrameWriteError};
 pub use crate::progress::{self, ProgressInfo, OriginatorExt as _};
 pub use crate::support::*;
 pub use crate::termprogress;
+pub use crate::timedfd::*;
 pub use crate::toml_de;
 pub use crate::tz::*;
 
index 17e2627bcc9d50d0129fd536db94a4d035c8c8da..c85885c18293b6a4051676627f8c828e24014a4f 100644 (file)
@@ -10,10 +10,12 @@ pub mod authproofs;
 pub mod childio;
 pub mod config;
 pub mod debugmutex;
+pub mod digestrw;
 pub mod packetframe;
 pub mod progress;
 pub mod support;
 pub mod termprogress;
+pub mod timedfd;
 pub mod tz;
 
 #[path = "fake-rng.rs"]           pub mod fake_rng;
similarity index 100%
rename from src/timedfd.rs
rename to support/timedfd.rs