Commit 7ae9cbe 1 parent cd9f1a2 commit 7ae9cbe Copy full SHA for 7ae9cbe
File tree 2 files changed +8
-6
lines changed
2 files changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -64,12 +64,12 @@ impl<'a> DeserializableRecord<'a> for ConnectResponse<'a> {
64
64
) ) ) ;
65
65
}
66
66
let len = unsafe { buf. get_unchecked_i32 ( ) } ;
67
- if len <= 0 || len != ( buf. len ( ) - 1 ) as i32 {
67
+ if len <= 0 || len > buf. len ( ) as i32 {
68
68
return Err ( DeserializeError :: UnmarshalError ( format ! ( "invalid session password length {len}" ) ) ) ;
69
69
}
70
70
let len = len as usize ;
71
71
let password = unsafe { buf. get_unchecked ( ..len) } ;
72
- let readonly = unsafe { * buf. get_unchecked ( len) } ;
72
+ let readonly = if len == buf . len ( ) { 0 } else { unsafe { * buf. get_unchecked ( len) } } ;
73
73
if readonly != 0 && readonly != 1 {
74
74
return Err ( DeserializeError :: UnmarshalError ( format ! ( "invalid session readonly value {readonly}" ) ) ) ;
75
75
}
Original file line number Diff line number Diff line change @@ -45,8 +45,8 @@ fn zookeeper_image() -> GenericImage {
45
45
zookeeper_image_with_properties ( Vec :: default ( ) )
46
46
}
47
47
48
- fn zookeeper34_image ( ) -> GenericImage {
49
- zookeeper_image_with_version_and_properties ( "3.4" , Vec :: default ( ) )
48
+ fn zookeeper_image_with_version < ' a > ( version : & ' a str ) -> GenericImage {
49
+ zookeeper_image_with_version_and_properties ( version , Vec :: default ( ) )
50
50
}
51
51
52
52
async fn example ( ) {
@@ -621,10 +621,12 @@ async fn test_create_container() {
621
621
assert_that ! ( client. delete( "/container" , None ) . await . unwrap_err( ) ) . is_equal_to ( zk:: Error :: NoNode ) ;
622
622
}
623
623
624
+ #[ test_case( "3.3" ; "3.3" ) ]
625
+ #[ test_case( "3.4" ; "3.4" ) ]
624
626
#[ test_log:: test( tokio:: test) ]
625
- async fn test_zookeeper34 ( ) {
627
+ async fn test_zookeeper_old_server ( version : & ' static str ) {
626
628
let docker = DockerCli :: default ( ) ;
627
- let zookeeper = docker. run ( zookeeper34_image ( ) ) ;
629
+ let zookeeper = docker. run ( zookeeper_image_with_version ( version ) ) ;
628
630
let zk_port = zookeeper. get_host_port ( 2181 ) ;
629
631
let cluster = format ! ( "127.0.0.1:{}" , zk_port) ;
630
632
let client = zk:: Client :: builder ( ) . assume_server_version ( 3 , 4 , u32:: MAX ) . connect ( & cluster) . await . unwrap ( ) ;
You can’t perform that action at this time.
0 commit comments