summaryrefslogtreecommitdiff
path: root/cli/ops.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-05-23 22:47:55 +0200
committerRyan Dahl <ry@tinyclouds.org>2019-05-23 23:47:55 +0300
commit1105982586d9554a5e7bf54fd4dc25c8724cd130 (patch)
tree4e15f0ad3098204ae2eca8f0ccdb644b8d8be9a7 /cli/ops.rs
parentf92af3576afe9567d829aed3cf78836cb587c944 (diff)
re-fix permissions for dial and listen (#2400)
Closes #2397
Diffstat (limited to 'cli/ops.rs')
-rw-r--r--cli/ops.rs21
1 files changed, 9 insertions, 12 deletions
diff --git a/cli/ops.rs b/cli/ops.rs
index bd1132fa3..eeb6a10c7 100644
--- a/cli/ops.rs
+++ b/cli/ops.rs
@@ -1625,19 +1625,18 @@ fn op_listen(
data: Option<PinnedBuf>,
) -> Box<OpWithError> {
assert!(data.is_none());
- if let Err(e) = state.check_net("listen") {
- return odd_future(e);
- }
-
let cmd_id = base.cmd_id();
let inner = base.inner_as_listen().unwrap();
let network = inner.network().unwrap();
assert_eq!(network, "tcp");
let address = inner.address().unwrap();
+ if let Err(e) = state.check_net(&address) {
+ return odd_future(e);
+ }
+
Box::new(futures::future::result((move || {
let addr = resolve_addr(address).wait()?;
-
let listener = TcpListener::bind(&addr)?;
let resource = resources::add_tcp_listener(listener);
@@ -1682,14 +1681,11 @@ fn new_conn(cmd_id: u32, tcp_stream: TcpStream) -> OpResult {
}
fn op_accept(
- state: &ThreadSafeState,
+ _state: &ThreadSafeState,
base: &msg::Base<'_>,
data: Option<PinnedBuf>,
) -> Box<OpWithError> {
assert!(data.is_none());
- if let Err(e) = state.check_net("accept") {
- return odd_future(e);
- }
let cmd_id = base.cmd_id();
let inner = base.inner_as_accept().unwrap();
let server_rid = inner.rid();
@@ -1713,15 +1709,16 @@ fn op_dial(
data: Option<PinnedBuf>,
) -> Box<OpWithError> {
assert!(data.is_none());
- if let Err(e) = state.check_net("dial") {
- return odd_future(e);
- }
let cmd_id = base.cmd_id();
let inner = base.inner_as_dial().unwrap();
let network = inner.network().unwrap();
assert_eq!(network, "tcp"); // TODO Support others.
let address = inner.address().unwrap();
+ if let Err(e) = state.check_net(&address) {
+ return odd_future(e);
+ }
+
let op =
resolve_addr(address)
.map_err(DenoError::from)