Projects
Kolab:Winterfell
guam
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 76
View file
guam.spec
Changed
@@ -30,6 +30,7 @@ Source100: plesk.sys.config Patch9991: nodeps.patch +Patch9992: 0001-Fix-starttls.patch BuildRequires: erlang >= 17.4 BuildRequires: erlang-asn1 @@ -96,6 +97,7 @@ %setup -q %patch9991 -p1 +%patch9992 -p1 %build @@ -225,6 +227,9 @@ %changelog +* Mon Nov 9 2020 Christian Mollekopf <mollekopf@kolabsys.com> - 0.9.8-2 +- Fixed STARTTLS + * Mon Oct 26 2020 Christian Mollekopf <mollekopf@kolabsys.com> - 0.9.8-1 - Release of version 0.9.8
View file
0001-Fix-starttls.patch
Added
@@ -0,0 +1,40 @@ +From b9d2dc3cf61556ec9652f434aed1ddfc6d77e62e Mon Sep 17 00:00:00 2001 +From: Christian Mollekopf <mollekopf@kolabsys.com> +Date: Mon, 9 Nov 2020 13:21:47 +0100 +Subject: [PATCH] Fix starttls + +Turns out there was a reason for set_socket_active. If starttls is used +to upgrade the socket, then we need to use the ssl variant on the ssl +socket. Otherwise the next packet will never be read and we just time +out eventually. +--- + apps/kolab_guam/src/kolab_guam_session.erl | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/apps/kolab_guam/src/kolab_guam_session.erl b/apps/kolab_guam/src/kolab_guam_session.erl +index 03d3214..0ea9b1b 100644 +--- a/apps/kolab_guam/src/kolab_guam_session.erl ++++ b/apps/kolab_guam/src/kolab_guam_session.erl +@@ -72,7 +72,8 @@ handle_info({ tcp, Socket, Data }, #state{ client_tls_active = false } = State) + % lager:debug("Data coming in from client over TCP ~s", [Data]), + {Acc, NewState} = process_client_data(Socket, Data, State), + forward_literal_data(Acc, NewState), +- inet:setopts(Socket, [{ active, once }]), ++ %Required because of socket upgrade, in which case we will end up with the ssl variant here. ++ set_socket_active(NewState), + { noreply, NewState }; + + handle_info({ ssl, Socket, Data }, State) -> +@@ -172,6 +173,9 @@ update_split_command_state_client(ClientDataComponents, #state{ command_split_re + update_split_command_state_client(_ClientDataComponents, _State) -> + undefined. + ++set_socket_active(#state{ client_tls_active = true, socket = Socket}) -> ssl:setopts(Socket, [{ active, once }]); ++set_socket_active(#state{ client_tls_active = false, socket = Socket}) -> inet:setopts(Socket, [{ active, once }]). ++ + accept_client(#state{ client_implicit_tls = true, tls_config = TLSConfig, listen_socket = ListenSocket, super_pid = SupervisorPID }) -> + AcceptSocket = accept_socket(ListenSocket, SupervisorPID), + %% prep for the next listen +-- +2.26.2 +
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +guam (0.9.8-2) unstable; urgency=medium + + * Fixed STARTTLS + + -- Christian Mollekopf (Kolab Systems) <mollekopf@kolabsys.com> Mon, 9 Nov 2020 09:31:31 +0200 + guam (0.9.8-1) unstable; urgency=medium * Release of version 0.9.8
View file
debian.series
Changed
@@ -1,1 +1,2 @@ nodeps.patch -p1 +0001-Fix-starttls.patch -p1
View file
guam.dsc
Changed
@@ -2,7 +2,7 @@ Source: guam Binary: guam Architecture: any -Version: 0.9.8-1 +Version: 0.9.8-2 Maintainer: Christoph Erhardt <kolab@sicherha.de> Homepage: https://kolab.org/about/guam Standards-Version: 3.9.6
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.