Commit Graph

531 Commits

Author SHA1 Message Date
Sebastian Dröge e9604ac35b Update MSRV to 1.60 and check on the CI
The code does not actually compile anymore with 1.51.

Also only run `cargo check` with 1.60 as various optional features,
tests, benchmarks actually require newer Rust versions.
2023-12-08 11:59:01 +01:00
Alexey Galakhov 85463b264e Release version 0.21.0 2023-12-07 02:03:01 +01:00
Constantin Nickel bcd7f85e65 Update `rustls` to 0.22 2023-12-05 22:24:29 +01:00
Alex Butler 9f0af2a2e3 Test that no additional flushes are called after pong flush success 2023-12-05 22:23:31 +01:00
Alex Butler 2d5b3e18de Fix auto pong responses not flushing after block
Retry pong flushes on read.
Add read_usage_auto_pong_flush scenario test
2023-12-05 22:23:31 +01:00
Alex Butler a54623ccfe Remove proposed version from changelog 2023-12-02 20:30:48 +01:00
Alex Butler 866ce20dbe Update webpki-roots to 0.26 2023-12-02 20:30:48 +01:00
Alex Butler 0f6e6517e6 Fix FrameHeader::format write & other lints 2023-12-02 00:01:17 +01:00
Alexey Galakhov fc17f7341d
Merge pull request #373 from psychon/reduce-byteorder
Reduce use of byteorder crate
2023-11-17 19:38:27 +01:00
Daniel Abramov a43bb499df
Merge pull request #386 from snapview/dependabot/cargo/http-1.0
Update http requirement from 0.2 to 1.0
2023-11-17 18:54:04 +01:00
Alexey Galakhov 08cdd76dd6
Merge pull request #387 from nickelc/deps/socket2
Replace deprecated `net2` dev dependency with `socket2`
2023-11-17 02:12:31 +01:00
Constantin Nickel 8ca9b2314c Replace deprecated `net2` dev dependency with `socket2` 2023-11-16 11:33:58 +01:00
dependabot[bot] 2867907f15
Update http requirement from 0.2 to 1.0
Updates the requirements on [http](https://github.com/hyperium/http) to permit the latest version.
- [Release notes](https://github.com/hyperium/http/releases)
- [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/http/compare/v0.2.0...v1.0.0)

---
updated-dependencies:
- dependency-name: http
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-16 08:04:57 +00:00
Alexey Galakhov a6cbed7bff
Merge pull request #385 from nickelc/deps/webpki-roots
Update `webpki-roots` to 0.25
2023-11-15 22:30:51 +01:00
Constantin Nickel 6c61d54ad2 Update `webpki-roots` to 0.25 2023-11-15 19:56:28 +01:00
Daniel Abramov 272d83c430 doc: clarify the meaning of config values 2023-10-29 14:09:32 +01:00
Daniel Abramov 3d9fd1e5cb
Merge pull request #383 from atouchet/cbar
Update Autobahn Test Suite page
2023-10-22 22:49:07 +02:00
Alex Touchet 614200a2fa
Update Autobahn Test Suite page 2023-10-16 19:36:40 -07:00
Daniel Abramov 8b3ecd3cc0 Update changelog 2023-09-23 14:10:53 +02:00
Daniel Abramov 722850d473 Fix incorrect metadata in Cargo.toml 2023-09-23 14:10:04 +02:00
Alexey Galakhov 219075edaa
Merge pull request #379 from snapview/CVE-2023-43669
Quick-and-dirty fix for CVE-2023-43669
2023-09-23 02:33:24 +02:00
Alexey Galakhov f0f1a06a50 Bump crate version 2023-09-23 02:16:16 +02:00
Alexey Galakhov 2e5029284b Add checking for header sanity
Co-authored-by: Daniel Abramov <inetcrack2@gmail.com>
2023-09-23 02:16:09 +02:00
Alexey Galakhov f916b332a9 Add `AttackAttempt` error variant 2023-09-22 17:48:31 +02:00
Uli Schlachter e4224ed85a Reduce use of byteorder crate
The byteorder dependency is only used in protocol::frame::frame. I
thought this dependency could easily be removed and set out to replace
the use of byteorder with equivalent std methods.

NetworkEndian is an alias for BigEndian. Converting a number like u32 to
bytes can be done via the std lib via .to_be_bytes(). The opposite
direction is from_by_bytes(). These simple things thus to not need
byteorder.

There is one place in the code where byteorder actually helps, thus this
dependency is not actually fully removed. ByteOrder::read_uint() allows
to read 1 to 8 bytes of data and returns the result as u64. Doing this
with the standard library basically requires re-implementing byteorder.
Thus, I did not do that.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2023-08-18 10:35:33 +02:00
Daniel Abramov 53914c1180 Include examples so that `cargo publish` works 2023-07-22 15:36:37 +01:00
Daniel Abramov 5323559891 Bump version 2023-07-22 15:19:04 +01:00
Daniel Abramov 6e63b17b63 Update changelog 2023-07-22 15:18:14 +01:00
Daniel Abramov f2ed7aa826
Merge pull request #365 from snapview/dependabot/cargo/webpki-roots-0.24
Update webpki-roots requirement from 0.23 to 0.24
2023-07-22 16:10:14 +02:00
Daniel Abramov 8d8f0da204
Merge pull request #362 from alexheretic/config-asserts
Add assert panics for `WebSocketConfig`
2023-07-22 16:08:30 +02:00
Daniel Abramov dac07ea68b
Merge pull request #361 from alexheretic/docs++
Clarify `WebSocketConfig` docs
2023-07-22 16:07:39 +02:00
dependabot[bot] 40cd43c4f9
Update webpki-roots requirement from 0.23 to 0.24
Updates the requirements on [webpki-roots](https://github.com/rustls/webpki-roots) to permit the latest version.
- [Commits](https://github.com/rustls/webpki-roots/compare/v/0.23.1...v/0.24.0)

---
updated-dependencies:
- dependency-name: webpki-roots
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 08:51:20 +00:00
Alex Butler 8f73cf03ab update changelog 2023-06-17 23:50:18 +01:00
Alex Butler 9567cc73f3 Add panics docs 2023-06-17 23:46:04 +01:00
Alex Butler 7869f11b41 Add assert panics for WebSocketConfig 2023-06-17 23:36:46 +01:00
Alex Butler 2345e28158 Clarify WebSocketConfig docs 2023-06-17 23:30:12 +01:00
Daniel Abramov 57d9e23939
Merge pull request #360 from doylemark/master
Return correct protocol error when missing http version
2023-06-17 18:37:43 +02:00
Mark Doyle 9533c02280 return correct protocol error when missing http version 2023-06-12 13:19:13 +01:00
Daniel Abramov d7b559d724
Merge pull request #359 from mtbc/allow-IPv6-SocketAddr
remove [] enclosing IPv6 host address
2023-06-10 11:25:25 +02:00
Mark T. B. Carroll 8901dcc535
remove [] enclosing IPv6 host address 2023-06-06 13:47:09 +01:00
Alexey Galakhov 8f23e1765e
Merge pull request #358 from alexheretic/buffer-writes
Buffer writes before writing to the underlying stream
2023-06-02 22:21:34 +02:00
Alex Butler f6a610f925 Add write_flush_behaviour test 2023-05-30 19:11:04 +01:00
Alex Butler dea67d6cca Fix doc typo 2023-05-30 18:26:59 +01:00
Alex Butler 41818166cf refactor WebSocketContext new 2023-05-30 18:26:59 +01:00
Alex Butler 0cada00fb5 Refactor write_one_frame -> buffer_frame 2023-05-30 18:26:59 +01:00
Alex Butler f33bb2cb97 Ensure out_buffer written when !can_read 2023-05-30 18:26:59 +01:00
Alex Butler 1b47964f18 split write and write_out_buffer internals
Fix internal method naming
2023-05-30 18:26:59 +01:00
Alex Butler 2ef5b9a5e2 Buffer writes before writing to the underlying stream
Add write_buffer_size
Set default 128 KiB
2023-05-30 18:26:59 +01:00
Alex Butler 2cf7cfef04 Rework write 100k bench to have a slow writes & even slower flushes 2023-05-30 18:26:25 +01:00
Alexey Galakhov 5a3115c09b
Merge pull request #357 from alexheretic/flush-writes-less
Rework to remove implicit flushes
2023-05-28 18:40:35 +02:00