Your message dated Mon, 27 Oct 2025 00:34:21 +0000
with message-id <[email protected]>
and subject line Bug#1116421: fixed in hippotat 1.2.3
has caused the Debian Bug report #1116421,
regarding hippotat - upcoming rust-nix update.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1116421: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1116421
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: hippotat

I hope to update rust-nix to 0.30 soon, nix 0.30 changes
the read and dup2 apis as part of the crate's gradual move
towards "io safety".

IIRC hippotat values compatibility with a wide range of
nix versions, and furthermore the code didn't seem
paritcularly orientated towards io safety, so I fixed
the build failures by switching to using the libc
versions of read and dup2 directly.
diff -Nru hippotat-1.2.2/Cargo.toml hippotat-1.2.2+nmu1/Cargo.toml
--- hippotat-1.2.2/Cargo.toml   2025-03-20 00:03:35.000000000 +0000
+++ hippotat-1.2.2+nmu1/Cargo.toml      2025-09-27 00:12:04.000000000 +0000
@@ -54,7 +54,7 @@
 log = "0.4.14"
 memchr = "2"
 mime = "0.3.4"
-nix = { version = ">=0.25, <0.30", features = ["fs", "process", "signal", 
"term", "uio"] }
+nix = { version = ">=0.25, <0.31", features = ["fs", "process", "signal", 
"term", "uio"] }
 parking_lot = ">= 0.11, < 0.13"
 pin-project-lite = "0.2"
 reqwest = { version = "0.12.8", features = [ "default-tls" ] }
diff -Nru hippotat-1.2.2/debian/changelog hippotat-1.2.2+nmu1/debian/changelog
--- hippotat-1.2.2/debian/changelog     2025-03-20 00:03:35.000000000 +0000
+++ hippotat-1.2.2+nmu1/debian/changelog        2025-09-27 00:12:04.000000000 
+0000
@@ -1,3 +1,12 @@
+hippotat (1.2.2+nmu1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Allow building with version 0.30 of the nix crate.
+  * Switch to the libc versions of dup2 and read to avoid changes in nix
+    0.30.
+
+ -- Peter Michael Green <[email protected]>  Sat, 27 Sep 2025 00:12:04 +0000
+
 hippotat (1.2.2) unstable; urgency=medium
 
   * Replace config custom proc macro with derive-deftly.
diff -Nru hippotat-1.2.2/server/daemon.rs hippotat-1.2.2+nmu1/server/daemon.rs
--- hippotat-1.2.2/server/daemon.rs     2025-03-20 00:03:35.000000000 +0000
+++ hippotat-1.2.2+nmu1/server/daemon.rs        2025-09-27 00:12:04.000000000 
+0000
@@ -7,9 +7,14 @@
 use std::io::IoSlice;
 use std::os::raw::{c_char, c_int};
 use std::os::unix::io::RawFd;
+use std::os::fd::IntoRawFd;
+use std::os::fd::AsRawFd;
 use std::slice;
 use std::str;
 use std::thread::panicking;
+use libc::dup2;
+use libc::read;
+use libc::c_void;
 
 use easy_ext::ext;
 
@@ -87,7 +92,7 @@
 }
 
 unsafe fn mdup2(oldfd: RawFd, newfd: RawFd, what: &str) {
-  match dup2(oldfd, newfd) {
+  match Errno::result(dup2(oldfd, newfd)) {
     Ok(got) if got == newfd => { },
     Ok(_) => crashm("dup2 gave wrong return value"),
     Err(e) => crashv!("dup2 ", what, ": ", e.desc()),
@@ -105,7 +110,7 @@
 unsafe fn parent(st_rfd: RawFd) -> ! {
   let mut exitstatus = 0u8;
   loop {
-    match read(st_rfd, slice::from_mut(&mut exitstatus)) {
+    match Errno::result(read(st_rfd, &raw mut exitstatus as *mut c_void, 1)) {
       Ok(0) => crashm("startup/daemonisation failed"),
       Ok(1) => libc::_exit(exitstatus.into()),
       Ok(_) => crashm("read startup: excess read!"),
@@ -152,7 +157,7 @@
     unsafe {
       let null_fd = open(cstr!(b"/dev/null\0"), OFlag::O_RDWR, Mode::empty())
         .context("open /dev/null");
-      mdup2(null_fd, 0, "null onto stdin");
+      mdup2(null_fd.as_raw_fd(), 0, "null onto stdin");
 
       let (st_rfd, st_wfd) = compat::pipe().context("pipe");
 
@@ -178,7 +183,7 @@
       Daemoniser {
         drop_bomb: Some(()),
         intermediate_pid,
-        null_fd,
+        null_fd: null_fd.into_raw_fd(),
         st_wfd,
       }
     }

--- End Message ---
--- Begin Message ---
Source: hippotat
Source-Version: 1.2.3
Done: Ian Jackson <[email protected]>

We believe that the bug you reported is fixed in the latest version of
hippotat, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ian Jackson <[email protected]> (supplier of updated hippotat 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 26 Oct 2025 23:40:51 +0000
Source: hippotat
Architecture: source
Version: 1.2.3
Distribution: unstable
Urgency: medium
Maintainer: Ian Jackson <[email protected]>
Changed-By: Ian Jackson <[email protected]>
Closes: 1115401 1115402 1116421
Changes:
 hippotat (1.2.3) unstable; urgency=medium
 .
   * Allow use of nix 0.30, working incompatibility by using libc
     for dup2 and read.  Closes: #1116421.
     [Report and code contribution from Peter Green]
   * Routine cargo update of Cargo.lock for use with upstream deps.
   * debian/control: Drop mention of nonexistent hippotat-doc package.
     [Report from: Carles Pina i Estany]  Closes: #1115401, #1115402.
Checksums-Sha1:
 fbcfc372cd67405804b9ab0734ff530bfe627962 4302 hippotat_1.2.3.dsc
 93bf33411b5f3d1fbaa15419f188efada9681475 123020 hippotat_1.2.3.tar.gz
Checksums-Sha256:
 a882326ffe16113cc1d1f46efc72ddf42f43e2b8abc3d2d2f1dffc542a5491a7 4302 
hippotat_1.2.3.dsc
 c5e1def2debfcf67475126ad5655d2fb8837c9b5bb57f6b0c59cd8c1a6e49509 123020 
hippotat_1.2.3.tar.gz
Files:
 476107bc439ec58c5385857f756b5a9d 4302 net optional hippotat_1.2.3.dsc
 3286177f83354e511d8a96efc9ed1361 123020 net optional hippotat_1.2.3.tar.gz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEQWOBFNEyiDslog3dR1FXV9gAJFYFAmj+uLcACgkQR1FXV9gA
JFZ6PA/9FJ9r9LF3X/EOYLZ/p8iGD3msQQSM0ACUj6AgjK/ApV+iynA20luh8Xt0
n4iUrWlJHiZBygzMgoTrrLVC1s/Q/C7l6RO84aF8gLJI683ziq2WQRNf65YWyBld
vglbCoP1eyqCOWsY2pyDJ65R74B5VIjPCMRzzsilqDAloZf7UH5JN6sa8kuODDMc
pDWk/7HV8+1myz72X4eB4VICRNnaZXl8BR1vv71INr5RkACZK49ZwxL+jnlS1DKF
FRFkMhBn8Chd8elS5n/2KTFQvIt4aXln5YDodpqUi/871oO9MI+GqmFtA4fqiiDK
7miq3MnGCbJmBcqZGq97v8lhtH5Z45SvITPOqDKL3gZHasOULhIZb2jcVu/Bv7IH
Wp7H/lu2w/MEV+hL3V+cmGS7kZ3J9lFxfth60u+a00VXb72M2V2ZRVuMfQ0OpXAE
45o2DV/WOoZ4v619rX9zChdV/qOS0NmnduvOYHhGgSk2L7TKD9SHamOWO5j/NjX3
eCGBOV/6sTp86lHqgyiu9qKGs1WeBJx+x8ILm3K5uE0V8Hzt2E4kfV/DzeMmdDWz
sf8FkxL96BgzswlO/ZvF1/vZM3lyR5//ngJHy0Pef4SN4zQ7cL2rgykizVyo2W4u
o3mQ3bD33UN4COh6lLtBBNN0rCBLw79GscTVpols54gPcRYMWow=
=2eLa
-----END PGP SIGNATURE-----

Attachment: pgpAMvbsgEe6a.pgp
Description: PGP signature


--- End Message ---

Reply via email to