@@ -1864,122 +1864,27 @@ async fn window_size_decremented_past_zero() {
1864
1864
let ( io, mut client) = mock:: new ( ) ;
1865
1865
1866
1866
let client = async move {
1867
- // let _ = client.assert_server_handshake().await;
1867
+ let settings = client. assert_server_handshake ( ) . await ;
1868
+ assert_default_settings ! ( settings) ;
1868
1869
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 ;
1871
1872
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 ;
1911
1873
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 ) )
1956
1875
. await ;
1876
+
1957
1877
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 ) )
1961
1879
. await ;
1880
+
1962
1881
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 ) )
1971
1883
. 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
+
1975
1885
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 ) )
1979
1887
. await ;
1980
-
1981
- // TODO: is CANCEL the right error code to expect here?
1982
- // client.recv_frame(frames::reset(1).protocol_error()).await;
1983
1888
} ;
1984
1889
1985
1890
let srv = async move {
0 commit comments