diff --git a/crates/tor-hsclient/src/connect.rs b/crates/tor-hsclient/src/connect.rs index ed81f7451..4b4c57010 100644 --- a/crates/tor-hsclient/src/connect.rs +++ b/crates/tor-hsclient/src/connect.rs @@ -507,7 +507,18 @@ impl<'c, R: Runtime, M: MocksForConnect> Context<'c, R, M> { &self, hsdir: &Relay<'_>, ) -> Result, DescriptorErrorDetail> { - let request = tor_dirclient::request::HsDescDownloadRequest::new(self.hs_blind_id); + let max_len: usize = self + .netdir + .params() + .hsdir_max_desc_size + .get() + .try_into() + .map_err(into_internal!("BoundedInt was not truly bounded!"))?; + let request = { + let mut r = tor_dirclient::request::HsDescDownloadRequest::new(self.hs_blind_id); + r.set_max_len(max_len); + r + }; trace!( "hsdir for {}, trying {}/{}, request {:?} (http request {:?}", &self.hsid,