@@ -1864,122 +1864,27 @@ async fn window_size_decremented_past_zero() {
18641864 let ( io, mut client) = mock:: new ( ) ;
18651865
18661866 let client = async move {
1867- // let _ = client.assert_server_handshake().await;
1867+ let settings = client. assert_server_handshake ( ) . await ;
1868+ assert_default_settings ! ( settings) ;
18681869
1869- // preface
1870- client. write_preface ( ) . await ;
1870+ // Invalid HEADERS frame (missing mandatory fields).
1871+ client. send_bytes ( & [ 0 , 0 , 0 , 1 , 5 , 0 , 0 , 0 , 1 ] ) . await ;
18711872
1872- // the following http 2 bytes are fuzzer-generated
1873- client. send_bytes ( & [ 0 , 0 , 0 , 4 , 0 , 0 , 0 , 0 , 0 ] ) . await ;
1874- client
1875- . send_bytes ( & [
1876- 0 , 0 , 23 , 1 , 1 , 0 , 249 , 255 , 191 , 131 , 1 , 1 , 1 , 70 , 1 , 1 , 1 , 1 , 65 , 1 , 1 , 65 , 1 , 1 ,
1877- 65 , 1 , 1 , 1 , 1 , 1 , 1 , 190 ,
1878- ] )
1879- . await ;
1880- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1881- client
1882- . send_bytes ( & [
1883- 0 , 0 , 9 , 247 , 0 , 121 , 255 , 255 , 184 , 1 , 65 , 1 , 1 , 1 , 1 , 1 , 1 , 190 ,
1884- ] )
1885- . await ;
1886- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1887- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1888- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1889- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1890- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1891- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1892- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1893- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1894- client
1895- . send_bytes ( & [ 0 , 0 , 3 , 0 , 1 , 0 , 249 , 255 , 191 , 1 , 1 , 190 ] )
1896- . await ;
1897- client
1898- . send_bytes ( & [ 0 , 0 , 2 , 50 , 107 , 0 , 0 , 0 , 1 , 0 , 0 ] )
1899- . await ;
1900- client
1901- . send_bytes ( & [ 0 , 0 , 5 , 2 , 0 , 0 , 0 , 0 , 1 , 128 , 0 , 55 , 0 , 0 ] )
1902- . await ;
1903- client
1904- . send_bytes ( & [
1905- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 126 , 4 , 39 , 184 , 171 , 125 , 33 , 0 , 3 , 107 , 50 , 98 ,
1906- ] )
1907- . await ;
1908- client
1909- . send_bytes ( & [ 0 , 0 , 6 , 4 , 0 , 0 , 0 , 0 , 0 , 3 , 4 , 76 , 255 , 71 , 131 ] )
1910- . await ;
19111873 client
1912- . send_bytes ( & [
1913- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 39 , 184 , 171 , 74 , 33 , 0 , 3 , 107 , 50 , 98 ,
1914- ] )
1915- . await ;
1916- client
1917- . send_bytes ( & [
1918- 0 , 0 , 30 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 56 , 184 , 171 , 125 , 65 , 0 , 35 , 65 , 65 , 65 , 61 ,
1919- 232 , 87 , 115 , 89 , 116 , 0 , 4 , 0 , 58 , 33 , 125 , 33 , 79 , 3 , 107 , 49 , 98 ,
1920- ] )
1921- . await ;
1922- client
1923- . send_bytes ( & [
1924- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 39 , 184 , 171 , 125 , 33 , 0 , 3 , 107 , 50 , 98 ,
1925- ] )
1926- . await ;
1927- client. send_bytes ( & [ 0 , 0 , 0 , 4 , 0 , 0 , 0 , 0 , 0 ] ) . await ;
1928- client
1929- . send_bytes ( & [
1930- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 126 , 4 , 39 , 184 , 171 , 125 , 33 , 0 , 3 , 107 , 50 , 98 ,
1931- ] )
1932- . await ;
1933- client
1934- . send_bytes ( & [
1935- 0 , 0 , 177 , 1 , 44 , 0 , 0 , 0 , 1 , 67 , 67 , 67 , 67 , 67 , 67 , 131 , 134 , 5 , 61 , 67 , 67 , 67 ,
1936- 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 ,
1937- 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 ,
1938- 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 115 , 102 , 1 , 3 , 48 , 43 ,
1939- 101 , 64 , 31 , 37 , 99 , 99 , 97 , 97 , 97 , 97 , 49 , 97 , 54 , 97 , 97 , 97 , 97 , 49 , 97 , 54 ,
1940- 97 , 99 , 54 , 53 , 53 , 51 , 53 , 99 , 99 , 97 , 97 , 99 , 97 , 97 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1941- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1942- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1943- 0 , 0 , 0 ,
1944- ] )
1945- . await ;
1946- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1947- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1948- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1949- client
1950- . send_bytes ( & [
1951- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 0 , 58 , 171 , 125 , 33 , 79 , 3 , 107 , 49 , 98 ,
1952- ] )
1953- . await ;
1954- client
1955- . send_bytes ( & [ 0 , 0 , 6 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 87 , 115 , 89 , 116 ] )
1874+ . send_frame ( frames:: settings ( ) . initial_window_size ( 1329018135 ) )
19561875 . await ;
1876+
19571877 client
1958- . send_bytes ( & [
1959- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 126 , 4 , 39 , 184 , 171 , 125 , 33 , 0 , 3 , 107 , 50 , 98 ,
1960- ] )
1878+ . send_frame ( frames:: settings ( ) . initial_window_size ( 3809661 ) )
19611879 . await ;
1880+
19621881 client
1963- . send_bytes ( & [
1964- 0 , 0 , 129 , 1 , 44 , 0 , 0 , 0 , 1 , 67 , 67 , 67 , 67 , 67 , 67 , 131 , 134 , 5 , 18 , 67 , 67 , 61 ,
1965- 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 67 , 48 , 54 , 53 , 55 , 114 , 1 , 4 , 97 , 49 , 51 , 116 ,
1966- 64 , 2 , 117 , 115 , 4 , 103 , 101 , 110 , 116 , 64 , 8 , 57 , 111 , 110 , 116 , 101 , 110 , 115 ,
1967- 102 , 7 , 43 , 43 , 49 , 48 , 48 , 43 , 101 , 192 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1968- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1969- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1970- ] )
1882+ . send_frame ( frames:: settings ( ) . initial_window_size ( 1467177332 ) )
19711883 . await ;
1972- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1973- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1974- client. send_bytes ( & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) . await ;
1884+
19751885 client
1976- . send_bytes ( & [
1977- 0 , 0 , 12 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 4 , 0 , 58 , 171 , 125 , 33 , 79 , 3 , 107 , 49 , 98 ,
1978- ] )
1886+ . send_frame ( frames:: settings ( ) . initial_window_size ( 3844989 ) )
19791887 . await ;
1980-
1981- // TODO: is CANCEL the right error code to expect here?
1982- // client.recv_frame(frames::reset(1).protocol_error()).await;
19831888 } ;
19841889
19851890 let srv = async move {
0 commit comments