From f6d329f5bf37b5815dddc15845534c8c1848e2fd Mon Sep 17 00:00:00 2001 From: Jordan Bracco Date: Thu, 26 Jun 2025 19:19:43 +0200 Subject: conn: fix tls opts --- lib/irc/connection.ex | 15 ++++++++++++--- lib/irc/puppet_connection.ex | 8 ++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) (limited to 'lib/irc') diff --git a/lib/irc/connection.ex b/lib/irc/connection.ex index 61617a9..4de76cd 100644 --- a/lib/irc/connection.ex +++ b/lib/irc/connection.ex @@ -267,11 +267,20 @@ defmodule Nola.Irc.Connection do client end - opts = [{:nodelay, true}, {:cacerts, :certifi.cacerts()}] - conn_fun = if state.conn.tls, do: :connect_ssl!, else: :connect! + opts = [{:nodelay, true}] + + {conn_fun, opts2} = + if state.conn.tls, + do: {:connect_ssl!, [{:cacerts, :certifi.cacerts()}]}, + else: {:connect!, []} conn_result = - apply(ExIRC.Client, conn_fun, [client, to_charlist(state.conn.host), state.conn.port, opts]) + apply(ExIRC.Client, conn_fun, [ + client, + to_charlist(state.conn.host), + state.conn.port, + opts ++ opts2 + ]) Logger.warn( "Connecting to #{state.conn.host}:#{state.conn.port} using #{conn_fun} => #{inspect(conn_result)}" diff --git a/lib/irc/puppet_connection.ex b/lib/irc/puppet_connection.ex index 890b976..d124568 100644 --- a/lib/irc/puppet_connection.ex +++ b/lib/irc/puppet_connection.ex @@ -165,8 +165,12 @@ defmodule Nola.Irc.PuppetConnection do {ip, opts} = {to_charlist(conn.host), []} # end - conn_fun = if conn.tls, do: :connect_ssl!, else: :connect! - apply(ExIRC.Client, conn_fun, [client, ip, conn.port, base_opts ++ opts]) + {conn_fun, opts2} = + if state.conn.tls, + do: {:connect_ssl!, [{:cacerts, :certifi.cacerts()}]}, + else: {:connect!, []} + + apply(ExIRC.Client, conn_fun, [client, ip, conn.port, base_opts ++ opts ++ opts2]) {:noreply, %{state | client: client}} end -- cgit v1.2.3