# rpm -qv guam guam-0.8-12.1.el7.kolab_wf.x86_64
Configuration
/etc/guam/sys.config:
%% Example configuration for Guam.
[
{
kolab_guam, [
{
imap_servers, [
{
imaps, [
{ host, "127.0.0.1" },
{ port, 9993 },
{ tls, true }
]
}
]
},
{
listeners, [
{
imap, [
{ port, 143 },
{ imap_server, imaps },
{
rules, [
{ filter_groupware, [] }
]
},
{
tls_config, [
{ certfile, "/etc/pki/cyrus-imapd/cyrus-imapd.pem" }
]
}
]
},
{
imaps, [
{ port, 993 },
{ implicit_tls, true },
{ imap_server, imaps },
{
rules, [
{ filter_groupware, [] }
]
},
{
tls_config, [
{ certfile, "/etc/pki/cyrus-imapd/cyrus-imapd.pem" }
]
}
]
}
]
}
]
},Expected Result
- Implicit TLS is used against 127.0.0.1:9993
Result
- Explicit TLS is used, but implicit TLS port does not expose STARTTLS capability, while Guam or #eimap requires it.
2016-06-17 12:11:08 =ERROR REPORT====
** Generic server <0.309.0> terminating
** Last message in was {server_hello,[{capabilities,<<"IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN AUTH=LOGIN SASL-IR">>},{server_id,<<"kolab.example.org Cyrus IMAP 2.5.8.12-Kolab-2.5.8-13.1.el7.kolab_wf server ready">>}]}
** When Server state == {state,{sslsocket,{gen_tcp,#Port<0.1853>,tls_connection,<0.115.0>},<0.389.0>},<0.93.0>,[{certfile,"/etc/pki/cyrus-imapd/cyrus-imapd.pem"}],true,true,[{host,"127.0.0.1"},{port,9993},{tls,true}],[],[{kolab_guam_rule_filter_groupware,{state,undefined,<<>>,false,<<>>,[<<"LIST">>,<<"list">>,<<"XLIST">>,<<"xlist">>,<<"LSUB">>,<<"lsub">>]}}],<0.391.0>,undefined,undefined}
** Reason for termination ==
** {badarg,[{binary,match,[[{capabilities,<<"IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN AUTH=LOGIN SASL-IR">>},{server_id,<<"kolab.example.org Cyrus IMAP 2.5.8.12-Kolab-2.5.8-13.1.el7.kolab_wf server ready">>}],<<"STARTTLS">>],[]},{kolab_guam_session,ensure_hello_does_not_have_starttls,1,[{file,"src/kolab_guam_session.erl"},{line,307}]},{kolab_guam_session,handle_info,2,[{file,"src/kolab_guam_session.erl"},{line,75}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
2016-06-17 12:11:08 =CRASH REPORT====
crasher:
initial call: kolab_guam_session:init/1
pid: <0.309.0>
registered_name: []
exception exit: {{badarg,[{binary,match,[[{capabilities,<<"IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN AUTH=LOGIN SASL-IR">>},{server_id,<<"kolab.example.org Cyrus IMAP 2.5.8.12-Kolab-2.5.8-13.1.el7.kolab_wf server ready">>}],<<"STARTTLS">>],[]},{kolab_guam_session,ensure_hello_does_not_have_starttls,1,[{file,"src/kolab_guam_session.erl"},{line,307}]},{kolab_guam_session,handle_info,2,[{file,"src/kolab_guam_session.erl"},{line,75}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]},[{gen_server,terminate,7,[{file,"gen_server.erl"},{line,826}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
ancestors: [<0.93.0>,kolab_guam_sup,<0.88.0>]
messages: []
links: [<0.93.0>,<0.391.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 987
stack_size: 27
reductions: 760
neighbours:
neighbour: [{pid,<0.391.0>},{registered_name,[]},{initial_call,{eimap,init,['Argument__1']}},{current_function,{gen_fsm,loop,7}},{ancestors,[<0.309.0>,<0.93.0>,kolab_guam_sup,<0.88.0>]},{messages,[]},{links,[<0.309.0>]},{dictionary,[]},{trap_exit,false},{status,waiting},{heap_size,1598},{stack_size,10},{reductions,3221}]
2016-06-17 12:11:08 =SUPERVISOR REPORT====
Supervisor: {<0.93.0>,kolab_guam_listener}
Context: child_terminated
Reason: {badarg,[{binary,match,[[{capabilities,<<"IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN AUTH=LOGIN SASL-IR">>},{server_id,<<"kolab.example.org Cyrus IMAP 2.5.8.12-Kolab-2.5.8-13.1.el7.kolab_wf server ready">>}],<<"STARTTLS">>],[]},{kolab_guam_session,ensure_hello_does_not_have_starttls,1,[{file,"src/kolab_guam_session.erl"},{line,307}]},{kolab_guam_session,handle_info,2,[{file,"src/kolab_guam_session.erl"},{line,75}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,615}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,681}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
Offender: [{pid,<0.309.0>},{id,session},{mfargs,{kolab_guam_session,start_link,undefined}},{restart_type,temporary},{shutdown,1000},{child_type,worker}]