mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-29 00:00:11 +02:00
Merge branch 'tokio-1.23.x' into master
This commit is contained in:
@@ -56,7 +56,7 @@ Make sure you activated the full features of the tokio crate on Cargo.toml:
|
|||||||
|
|
||||||
```toml
|
```toml
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tokio = { version = "1.23.0", features = ["full"] }
|
tokio = { version = "1.23.1", features = ["full"] }
|
||||||
```
|
```
|
||||||
Then, on your main.rs:
|
Then, on your main.rs:
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,14 @@
|
|||||||
|
# 1.23.1 (January 4, 2022)
|
||||||
|
|
||||||
|
This release forward ports changes from 1.18.4.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- net: fix Windows named pipe server builder to maintain option when toggling
|
||||||
|
pipe mode ([#5336]).
|
||||||
|
|
||||||
|
[#5336]: https://github.com/tokio-rs/tokio/pull/5336
|
||||||
|
|
||||||
# 1.23.0 (December 5, 2022)
|
# 1.23.0 (December 5, 2022)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
@@ -262,6 +273,17 @@ wasm32-wasi target is given unstable support for the `net` feature.
|
|||||||
[#4956]: https://github.com/tokio-rs/tokio/pull/4956
|
[#4956]: https://github.com/tokio-rs/tokio/pull/4956
|
||||||
[#4959]: https://github.com/tokio-rs/tokio/pull/4959
|
[#4959]: https://github.com/tokio-rs/tokio/pull/4959
|
||||||
|
|
||||||
|
# 1.20.3 (January 3, 2022)
|
||||||
|
|
||||||
|
This release forward ports changes from 1.18.4.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- net: fix Windows named pipe server builder to maintain option when toggling
|
||||||
|
pipe mode ([#5336]).
|
||||||
|
|
||||||
|
[#5336]: https://github.com/tokio-rs/tokio/pull/5336
|
||||||
|
|
||||||
# 1.20.2 (September 27, 2022)
|
# 1.20.2 (September 27, 2022)
|
||||||
|
|
||||||
This release removes the dependency on the `once_cell` crate to restore the MSRV
|
This release removes the dependency on the `once_cell` crate to restore the MSRV
|
||||||
@@ -387,6 +409,15 @@ This release fixes a bug in `Notified::enable`. ([#4747])
|
|||||||
[#4729]: https://github.com/tokio-rs/tokio/pull/4729
|
[#4729]: https://github.com/tokio-rs/tokio/pull/4729
|
||||||
[#4739]: https://github.com/tokio-rs/tokio/pull/4739
|
[#4739]: https://github.com/tokio-rs/tokio/pull/4739
|
||||||
|
|
||||||
|
# 1.18.4 (January 3, 2022)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- net: fix Windows named pipe server builder to maintain option when toggling
|
||||||
|
pipe mode ([#5336]).
|
||||||
|
|
||||||
|
[#5336]: https://github.com/tokio-rs/tokio/pull/5336
|
||||||
|
|
||||||
# 1.18.3 (September 27, 2022)
|
# 1.18.3 (September 27, 2022)
|
||||||
|
|
||||||
This release removes the dependency on the `once_cell` crate to restore the MSRV
|
This release removes the dependency on the `once_cell` crate to restore the MSRV
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ name = "tokio"
|
|||||||
# - README.md
|
# - README.md
|
||||||
# - Update CHANGELOG.md.
|
# - Update CHANGELOG.md.
|
||||||
# - Create "v1.x.y" git tag.
|
# - Create "v1.x.y" git tag.
|
||||||
version = "1.23.0"
|
version = "1.23.1"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
rust-version = "1.49"
|
rust-version = "1.49"
|
||||||
authors = ["Tokio Contributors <[email protected]>"]
|
authors = ["Tokio Contributors <[email protected]>"]
|
||||||
|
|||||||
+1
-1
@@ -56,7 +56,7 @@ Make sure you activated the full features of the tokio crate on Cargo.toml:
|
|||||||
|
|
||||||
```toml
|
```toml
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tokio = { version = "1.23.0", features = ["full"] }
|
tokio = { version = "1.23.1", features = ["full"] }
|
||||||
```
|
```
|
||||||
Then, on your main.rs:
|
Then, on your main.rs:
|
||||||
|
|
||||||
|
|||||||
@@ -1705,11 +1705,10 @@ impl ServerOptions {
|
|||||||
///
|
///
|
||||||
/// [`dwPipeMode`]: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea
|
/// [`dwPipeMode`]: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea
|
||||||
pub fn pipe_mode(&mut self, pipe_mode: PipeMode) -> &mut Self {
|
pub fn pipe_mode(&mut self, pipe_mode: PipeMode) -> &mut Self {
|
||||||
self.pipe_mode = match pipe_mode {
|
let is_msg = matches!(pipe_mode, PipeMode::Message);
|
||||||
PipeMode::Byte => windows_sys::PIPE_TYPE_BYTE,
|
// Pipe mode is implemented as a bit flag 0x4. Set is message and unset
|
||||||
PipeMode::Message => windows_sys::PIPE_TYPE_MESSAGE,
|
// is byte.
|
||||||
};
|
bool_flag!(self.pipe_mode, is_msg, windows_sys::PIPE_TYPE_MESSAGE);
|
||||||
|
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2554,3 +2553,48 @@ unsafe fn named_pipe_info(handle: RawHandle) -> io::Result<PipeInfo> {
|
|||||||
max_instances,
|
max_instances,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use self::windows_sys::{PIPE_REJECT_REMOTE_CLIENTS, PIPE_TYPE_BYTE, PIPE_TYPE_MESSAGE};
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn opts_default_pipe_mode() {
|
||||||
|
let opts = ServerOptions::new();
|
||||||
|
assert_eq!(opts.pipe_mode, PIPE_TYPE_BYTE | PIPE_REJECT_REMOTE_CLIENTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn opts_unset_reject_remote() {
|
||||||
|
let mut opts = ServerOptions::new();
|
||||||
|
opts.reject_remote_clients(false);
|
||||||
|
assert_eq!(opts.pipe_mode & PIPE_REJECT_REMOTE_CLIENTS, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn opts_set_pipe_mode_maintains_reject_remote_clients() {
|
||||||
|
let mut opts = ServerOptions::new();
|
||||||
|
opts.pipe_mode(PipeMode::Byte);
|
||||||
|
assert_eq!(opts.pipe_mode, PIPE_TYPE_BYTE | PIPE_REJECT_REMOTE_CLIENTS);
|
||||||
|
|
||||||
|
opts.reject_remote_clients(false);
|
||||||
|
opts.pipe_mode(PipeMode::Byte);
|
||||||
|
assert_eq!(opts.pipe_mode, PIPE_TYPE_BYTE);
|
||||||
|
|
||||||
|
opts.reject_remote_clients(true);
|
||||||
|
opts.pipe_mode(PipeMode::Byte);
|
||||||
|
assert_eq!(opts.pipe_mode, PIPE_TYPE_BYTE | PIPE_REJECT_REMOTE_CLIENTS);
|
||||||
|
|
||||||
|
opts.reject_remote_clients(false);
|
||||||
|
opts.pipe_mode(PipeMode::Message);
|
||||||
|
assert_eq!(opts.pipe_mode, PIPE_TYPE_MESSAGE);
|
||||||
|
|
||||||
|
opts.reject_remote_clients(true);
|
||||||
|
opts.pipe_mode(PipeMode::Message);
|
||||||
|
assert_eq!(
|
||||||
|
opts.pipe_mode,
|
||||||
|
PIPE_TYPE_MESSAGE | PIPE_REJECT_REMOTE_CLIENTS
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user