@@ -34,7 +34,6 @@ use crate::types::{
34
34
} ;
35
35
use crate :: util:: secp:: pedersen:: RangeProof ;
36
36
use bytes:: Bytes ;
37
- use log:: { info, warn} ;
38
37
use num:: FromPrimitive ;
39
38
use std:: fs:: File ;
40
39
use std:: io:: { Read , Write } ;
@@ -98,7 +97,7 @@ fn default_max_msg_size() -> u64 {
98
97
}
99
98
100
99
// Max msg size for each msg type.
101
- pub fn max_msg_size ( msg_type : Type ) -> u64 {
100
+ fn max_msg_size ( msg_type : Type ) -> u64 {
102
101
match msg_type {
103
102
Type :: Error => 0 ,
104
103
Type :: Hand => 128 ,
@@ -173,7 +172,7 @@ impl Msg {
173
172
///
174
173
/// Note: We return a MsgHeaderWrapper here as we may encounter an unknown msg type.
175
174
///
176
- pub fn read_header < R : std :: io :: Read > (
175
+ pub fn read_header < R : Read > (
177
176
stream : & mut R ,
178
177
version : ProtocolVersion ,
179
178
) -> Result < MsgHeaderWrapper , Error > {
@@ -187,7 +186,7 @@ pub fn read_header<R: std::io::Read>(
187
186
/// Read a single item from the provided stream, always blocking until we
188
187
/// have a result (or timeout).
189
188
/// Returns the item and the total bytes read.
190
- pub fn read_item < T : Readable , R : std :: io :: Read > (
189
+ pub fn read_item < T : Readable , R : Read > (
191
190
stream : & mut R ,
192
191
version : ProtocolVersion ,
193
192
) -> Result < ( T , u64 ) , Error > {
@@ -198,7 +197,7 @@ pub fn read_item<T: Readable, R: std::io::Read>(
198
197
199
198
/// Read a message body from the provided stream, always blocking
200
199
/// until we have a result (or timeout).
201
- pub fn read_body < T : Readable , R : std :: io :: Read > (
200
+ pub fn read_body < T : Readable , R : Read > (
202
201
h : & MsgHeader ,
203
202
stream : & mut R ,
204
203
version : ProtocolVersion ,
@@ -209,14 +208,14 @@ pub fn read_body<T: Readable, R: std::io::Read>(
209
208
}
210
209
211
210
/// Read (an unknown) message from the provided stream and discard it.
212
- pub fn read_discard < R : std :: io :: Read > ( msg_len : u64 , stream : & mut R ) -> Result < ( ) , Error > {
211
+ pub fn read_discard < R : Read > ( msg_len : u64 , stream : & mut R ) -> Result < ( ) , Error > {
213
212
let mut buffer = vec ! [ 0u8 ; msg_len as usize ] ;
214
213
stream. read_exact ( & mut buffer) ?;
215
214
Ok ( ( ) )
216
215
}
217
216
218
217
/// Reads a full message from the underlying stream.
219
- pub fn read_message < T : Readable , R : std :: io :: Read > (
218
+ pub fn read_message < T : Readable , R : Read > (
220
219
stream : & mut R ,
221
220
version : ProtocolVersion ,
222
221
msg_type : Type ,
@@ -323,24 +322,6 @@ impl Writeable for MsgHeader {
323
322
}
324
323
}
325
324
326
- impl MsgHeader {
327
- /// Read a message header from the provided reader
328
- pub fn read < R : std:: io:: Read > ( reader : & mut R ) -> Result < MsgHeader , Error > {
329
- let mut head = vec ! [ 0u8 ; MsgHeader :: LEN ] ;
330
- reader. read_exact ( & mut head) ?;
331
- let header: MsgHeaderWrapper = ser:: deserialize (
332
- & mut & head[ ..] ,
333
- ProtocolVersion :: local ( ) ,
334
- DeserializationMode :: default ( ) ,
335
- ) ?;
336
-
337
- match header {
338
- MsgHeaderWrapper :: Known ( header) => Ok ( header) ,
339
- MsgHeaderWrapper :: Unknown ( _, _) => Err ( Error :: BadMessage ) ,
340
- }
341
- }
342
- }
343
-
344
325
impl Readable for MsgHeaderWrapper {
345
326
fn read < R : Reader > ( reader : & mut R ) -> Result < MsgHeaderWrapper , ser:: Error > {
346
327
let m = magic ( ) ;
@@ -1005,41 +986,3 @@ impl fmt::Debug for Consumed {
1005
986
}
1006
987
}
1007
988
}
1008
-
1009
- impl Message {
1010
- pub fn read < R : std:: io:: Read > (
1011
- reader : & mut R ,
1012
- msg_type : Option < Type > ,
1013
- ) -> Result < Vec < u8 > , Error > {
1014
- use log:: { info, warn} ;
1015
- let header = MsgHeader :: read ( reader) ?;
1016
- let msg_len = header. msg_len ;
1017
-
1018
- match msg_type {
1019
- Some ( msg_type) => {
1020
- let max_len = max_msg_size ( msg_type) ;
1021
- let current_max_len = max_len * 4 ; // Current 4x limit
1022
- if msg_len > current_max_len {
1023
- return Err ( Error :: MsgTooLarge ( msg_len as usize , current_max_len) ) ;
1024
- }
1025
- info ! (
1026
- "Received {:?} message: size={} bytes, 1x limit={} bytes, 4x limit={} bytes" ,
1027
- msg_type, msg_len, max_len, current_max_len
1028
- ) ;
1029
- if msg_len > max_len {
1030
- warn ! (
1031
- "Message size ({} bytes) exceeds 1x limit ({} bytes) for type {:?}" ,
1032
- msg_len, max_len, msg_type
1033
- ) ;
1034
- }
1035
- }
1036
- None => {
1037
- info ! ( "Received unknown message type: size={} bytes" , msg_len) ;
1038
- }
1039
- }
1040
-
1041
- let mut payload = vec ! [ 0u8 ; msg_len as usize ] ;
1042
- reader. read_exact ( & mut payload) ?;
1043
- std:: result:: Result :: Ok ( payload)
1044
- }
1045
- }
0 commit comments