From 35670c86541f4a4e1649e9d787ffff6a5c24798a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Adri=C3=A1n=20Arroyo=20Calle?= Date: Sun, 9 Jan 2022 17:04:54 +0100 Subject: [PATCH] remove TLS option in socket_client_open/3 --- crates/instructions-template/src/lib.rs | 2 +- src/lib/sockets.pl | 2 +- src/machine/system_calls.rs | 37 +------------------------ 3 files changed, 3 insertions(+), 38 deletions(-) diff --git a/crates/instructions-template/src/lib.rs b/crates/instructions-template/src/lib.rs index cc6e49f3..a20be302 100644 --- a/crates/instructions-template/src/lib.rs +++ b/crates/instructions-template/src/lib.rs @@ -442,7 +442,7 @@ enum SystemClauseType { SkipMaxList, #[strum_discriminants(strum(props(Arity = "1", Name = "$sleep")))] Sleep, - #[strum_discriminants(strum(props(Arity = "8", Name = "$socket_client_open")))] + #[strum_discriminants(strum(props(Arity = "7", Name = "$socket_client_open")))] SocketClientOpen, #[strum_discriminants(strum(props(Arity = "3", Name = "$socket_server_open")))] SocketServerOpen, diff --git a/src/lib/sockets.pl b/src/lib/sockets.pl index 2fb3a7fd..e2b1b723 100644 --- a/src/lib/sockets.pl +++ b/src/lib/sockets.pl @@ -25,7 +25,7 @@ socket_client_open(Addr, Stream, Options) :- builtins:parse_stream_options(Options, [Alias, EOFAction, Reposition, Type], socket_client_open/3), - '$socket_client_open'(Address, Port, Stream, Alias, EOFAction, Reposition, Type, false). + '$socket_client_open'(Address, Port, Stream, Alias, EOFAction, Reposition, Type). socket_server_open(Addr, ServerSocket) :- diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 88ccb421..800693af 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -4161,42 +4161,7 @@ impl Machine { let stream = match TcpStream::connect(socket_addr.as_str()).map_err(|e| e.kind()) { Ok(tcp_stream) => { - let mut stream = { - let tls = cell_as_atom!(self.machine_st.store(self.machine_st.deref( - self.machine_st.registers[8] - ))); - - match tls { - atom!("false") => { - Stream::from_tcp_stream(socket_addr, tcp_stream, &mut self.machine_st.arena) - } - atom!("true") => { - let connector = TlsConnector::new().unwrap(); - let stream = Stream::from_tcp_stream( - socket_addr, - tcp_stream, - &mut self.machine_st.arena, - ); - - let stream = - match connector.connect(socket_atom.as_str(), stream) { - Ok(tls_stream) => tls_stream, - Err(_) => { - return Err(self.machine_st.open_permission_error( - addr, - atom!("socket_client_open"), - 3, - )); - } - }; - - Stream::from_tls_stream(atom!("TLS"), stream, &mut self.machine_st.arena) - } - _ => { - unreachable!() - } - } - }; + let mut stream = Stream::from_tcp_stream(socket_addr, tcp_stream, &mut self.machine_st.arena); *stream.options_mut() = options; -- 2.54.0