Projects
Kolab:Winterfell
guam
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 20
View file
guam.spec
Changed
@@ -40,6 +40,9 @@ Patch0007: 0007-Correct-the-actual-version-back-to-0.8.patch Patch0008: 0008-Relax-dependency-on-lager.patch Patch0009: 0001-make-add_starttls_to_capabilities-work-also-on-the-f.patch +Patch0010: 0006-correct-response-for-mplicit_tls-listeners.patch +Patch0011: 0007-do-a-full-OK-CAPABILITY-banner-for-all-correct_hello.patch +Patch0012: 0008-remove-AUTH-entries-put-LOGINDISABLED-if-we-put-up-a.patch BuildRequires: erlang >= 17.4 BuildRequires: erlang-eimap >= 0.1.5 @@ -95,6 +98,9 @@ %patch0007 -p1 %patch0008 -p1 %patch0009 -p1 +%patch0010 -p1 +%patch0011 -p1 +%patch0012 -p1 %build rebar compile
View file
0006-correct-response-for-mplicit_tls-listeners.patch
Added
@@ -0,0 +1,58 @@ +From 18bd1abb8a1221b16b2ec53641b07d8ef49130ea Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Fri, 1 Jul 2016 12:40:04 +0200 +Subject: [PATCH 6/8] correct response for mplicit_tls listeners + +--- + apps/kolab_guam/src/kolab_guam_session.erl | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +diff --git a/apps/kolab_guam/src/kolab_guam_session.erl b/apps/kolab_guam/src/kolab_guam_session.erl +index 1f3869b..df195a1 100644 +--- a/apps/kolab_guam/src/kolab_guam_session.erl ++++ b/apps/kolab_guam/src/kolab_guam_session.erl +@@ -71,8 +71,8 @@ handle_info({ tcp, Socket, Data }, #state{ client_tls_active = false } = State) + handle_info({ ssl, Socket, Data }, State) -> + %lager:debug("Data coming in from client over SSL, ~p", [Data]), + process_client_data(Socket, Data, State); +-handle_info({ server_hello, ServerHello }, #state{ imap_session = ImapSession, tls_config = TLSConfig, socket = Socket, client_tls_active = TLSActive, deflator = Deflator } = State) -> +- CorrectedHello = correct_hello(TLSActive, TLSConfig, ServerHello), ++handle_info({ server_hello, ServerHello }, #state{ imap_session = ImapSession, tls_config = TLSConfig, socket = Socket, client_implicit_tls = ImplicitTLS, client_tls_active = TLSActive, deflator = Deflator } = State) -> ++ CorrectedHello = correct_hello(TLSActive, ImplicitTLS, TLSConfig, ServerHello), + eimap:start_passthrough(ImapSession, self()), + relay_response(Socket, postprocess_server_data(Deflator, <<CorrectedHello/binary, "\r\n">>), TLSActive), + { noreply, State }; +@@ -275,18 +275,26 @@ start_client_compression(Socket, TLS, Tag) -> + set_socket_active(true, Socket) -> ssl:setopts(Socket, [{ active, once }]); + set_socket_active(_, Socket) -> inet:setopts(Socket, [{ active, once }]). + +--spec correct_hello(TLSActive :: true | false, TlSConfig :: [] | list(), ServerHello :: binary()) -> CorrectedHello :: binary(). +-correct_hello(true, _TLSConfig, ServerHello) -> ++-spec correct_hello(TLSActive :: true | false, ImplicitTLS :: true | false, TlSConfig :: [] | list(), ServerHello :: binary()) -> CorrectedHello :: binary(). ++correct_hello(true, true, _TLSConfig, ServerHello) -> ++ % the connection is already secured, so don't advertise starttls to the client ++ build_hello_for_implicit_tls(ServerHello); ++correct_hello(true, _ImplicitTLS, _TLSConfig, ServerHello) -> + % the connection is already secured, so don't advertise starttls to the client + ensure_hello_does_not_have_starttls(ServerHello); +-correct_hello(_TLSActive, [], ServerHello) -> ++correct_hello(_TLSActive, _ImplicitTLS, [], ServerHello) -> + % guam does not have a TLS config and so can not provide TLS to the client + ensure_hello_does_not_have_starttls(ServerHello); +-correct_hello(_TLSActive, _TLSConfig, ServerHello) -> ++correct_hello(_TLSActive, _ImplicitTLS, _TLSConfig, ServerHello) -> + % guam has a TLS config, and it is not currently active, so make sure to include + % STARTTLS in our response regardless of what the backend says + ensure_hello_has_starttls(ServerHello). + ++build_hello_for_implicit_tls(ServerResponse) -> ++ NoTLSCapabilities = ensure_hello_does_not_have_starttls(ServerResponse), ++ ServerIdent = proplists:get_value(server_id, ServerResponse, <<>>), ++ <<"* OK [CAPABILITIES ", NoTLSCapabilities/binary, "] ", ServerIdent/binary>>. ++ + ensure_hello_has_starttls(ServerResponse) -> + ServerHello = proplists:get_value(capabilities, ServerResponse, <<>>), + case binary:match(ServerHello, <<"STARTTLS">>) of +-- +2.5.5 +
View file
0007-do-a-full-OK-CAPABILITY-banner-for-all-correct_hello.patch
Added
@@ -0,0 +1,62 @@ +From 75ce99f2226438cab4cf57cb8b7dbbe6e4d22885 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Fri, 1 Jul 2016 12:44:09 +0200 +Subject: [PATCH 7/8] do a full "* OK [CAPABILITY" banner for all correct_hello + paths + +--- + apps/kolab_guam/src/kolab_guam_session.erl | 25 +++++++++++-------------- + 1 file changed, 11 insertions(+), 14 deletions(-) + +diff --git a/apps/kolab_guam/src/kolab_guam_session.erl b/apps/kolab_guam/src/kolab_guam_session.erl +index df195a1..fb9c72b 100644 +--- a/apps/kolab_guam/src/kolab_guam_session.erl ++++ b/apps/kolab_guam/src/kolab_guam_session.erl +@@ -73,8 +73,10 @@ handle_info({ ssl, Socket, Data }, State) -> + process_client_data(Socket, Data, State); + handle_info({ server_hello, ServerHello }, #state{ imap_session = ImapSession, tls_config = TLSConfig, socket = Socket, client_implicit_tls = ImplicitTLS, client_tls_active = TLSActive, deflator = Deflator } = State) -> + CorrectedHello = correct_hello(TLSActive, ImplicitTLS, TLSConfig, ServerHello), ++ ServerIdent = proplists:get_value(server_id, ServerHello, <<>>), ++ FullGreeting = <<"* OK [CAPABILITIES ", CorrectedHello/binary, "] ", ServerIdent/binary, "\r\n">>, + eimap:start_passthrough(ImapSession, self()), +- relay_response(Socket, postprocess_server_data(Deflator, <<CorrectedHello/binary, "\r\n">>), TLSActive), ++ relay_response(Socket, postprocess_server_data(Deflator, FullGreeting), TLSActive), + { noreply, State }; + handle_info({ { rule_data, Module, ResponseToken }, Data }, #state{ rules_active = ActiveRules } = State) -> + %lager:debug("Got back data requested by rule ~p: ~p", [Module, Data]), +@@ -276,24 +278,19 @@ set_socket_active(true, Socket) -> ssl:setopts(Socket, [{ active, once }]); + set_socket_active(_, Socket) -> inet:setopts(Socket, [{ active, once }]). + + -spec correct_hello(TLSActive :: true | false, ImplicitTLS :: true | false, TlSConfig :: [] | list(), ServerHello :: binary()) -> CorrectedHello :: binary(). +-correct_hello(true, true, _TLSConfig, ServerHello) -> ++correct_hello(true, true, _TLSConfig, ServerResponse) -> + % the connection is already secured, so don't advertise starttls to the client +- build_hello_for_implicit_tls(ServerHello); +-correct_hello(true, _ImplicitTLS, _TLSConfig, ServerHello) -> ++ ensure_hello_does_not_have_starttls(ServerResponse); ++correct_hello(true, _ImplicitTLS, _TLSConfig, ServerResponse) -> + % the connection is already secured, so don't advertise starttls to the client +- ensure_hello_does_not_have_starttls(ServerHello); +-correct_hello(_TLSActive, _ImplicitTLS, [], ServerHello) -> ++ ensure_hello_does_not_have_starttls(ServerResponse); ++correct_hello(_TLSActive, _ImplicitTLS, [], ServerResponse) -> + % guam does not have a TLS config and so can not provide TLS to the client +- ensure_hello_does_not_have_starttls(ServerHello); +-correct_hello(_TLSActive, _ImplicitTLS, _TLSConfig, ServerHello) -> ++ ensure_hello_does_not_have_starttls(ServerResponse); ++correct_hello(_TLSActive, _ImplicitTLS, _TLSConfig, ServerResponse) -> + % guam has a TLS config, and it is not currently active, so make sure to include + % STARTTLS in our response regardless of what the backend says +- ensure_hello_has_starttls(ServerHello). +- +-build_hello_for_implicit_tls(ServerResponse) -> +- NoTLSCapabilities = ensure_hello_does_not_have_starttls(ServerResponse), +- ServerIdent = proplists:get_value(server_id, ServerResponse, <<>>), +- <<"* OK [CAPABILITIES ", NoTLSCapabilities/binary, "] ", ServerIdent/binary>>. ++ ensure_hello_has_starttls(ServerResponse). + + ensure_hello_has_starttls(ServerResponse) -> + ServerHello = proplists:get_value(capabilities, ServerResponse, <<>>), +-- +2.5.5 +
View file
0008-remove-AUTH-entries-put-LOGINDISABLED-if-we-put-up-a.patch
Added
@@ -0,0 +1,63 @@ +From 4cb9fd2e94f7746e5ec05f0cd3c1c7cca895efa3 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Fri, 1 Jul 2016 13:16:16 +0200 +Subject: [PATCH 8/8] remove AUTH= entries, put LOGINDISABLED if we put up a + STARTTLS + +--- + apps/kolab_guam/src/kolab_guam_session.erl | 28 ++++++++++++++++++++++++++-- + 1 file changed, 26 insertions(+), 2 deletions(-) + +diff --git a/apps/kolab_guam/src/kolab_guam_session.erl b/apps/kolab_guam/src/kolab_guam_session.erl +index fb9c72b..79114b1 100644 +--- a/apps/kolab_guam/src/kolab_guam_session.erl ++++ b/apps/kolab_guam/src/kolab_guam_session.erl +@@ -305,7 +305,8 @@ add_starttls_to_capabilities(ServerHello) -> + { Start, End } -> + Prefix = binary:part(ServerHello, 0, Start + End), + Suffix = binary:part(ServerHello, Start + End, size(ServerHello) - Start - End), +- <<Prefix/binary, "STARTTLS ", Suffix/binary>> ++ CorrectHello = <<Prefix/binary, "STARTTLS ", Suffix/binary>>, ++ remove_auth_offers(CorrectHello) + end. + + add_starttls_after_imap4_atom(ServerHello) -> +@@ -314,7 +315,8 @@ add_starttls_after_imap4_atom(ServerHello) -> + { Start, End } -> + Prefix = binary:part(ServerHello, 0, Start + End), + Suffix = binary:part(ServerHello, Start + End, size(ServerHello) - Start - End), +- <<Prefix/binary, "STARTTLS ", Suffix/binary>> ++ CorrectHello = <<Prefix/binary, "STARTTLS ", Suffix/binary>>, ++ remove_auth_offers(CorrectHello) + end. + + ensure_hello_does_not_have_starttls(ServerResponse) -> +@@ -327,3 +329,25 @@ ensure_hello_does_not_have_starttls(ServerResponse) -> + <<Prefix/binary, Suffix/binary>> + end. + ++remove_auth_offers(ServerHello) -> ++ case binary:match(ServerHello, <<"AUTH=">>) of ++ nomatch -> ensure_advertise_login_disabled(ServerHello); ++ { Start, End } -> ++ Prefix = binary:part(ServerHello, 0, Start), ++ Suffix = ++ case binary:match(ServerHello, <<" ">>, [{ scope, { Start, size(ServerHello) - Start } }]) of ++ nomatch -> ++ %% end of the line, so no suffix ++ <<>>; ++ { SpaceStart, SpaceEnd } -> ++ binary:part(ServerHello, SpaceStart + SpaceEnd, size(ServerHello) - SpaceStart - SpaceEnd) ++ end, ++ remove_auth_offers(<<Prefix/binary, Suffix/binary>>) ++ end. ++ ++ensure_advertise_login_disabled(ServerHello) -> ++ case binary:match(ServerHello, <<"LOGINDISABLED">>) of ++ nomatch -> <<ServerHello/binary, " LOGINDISABLED">>; ++ _ -> ServerHello ++ end. ++ +-- +2.5.5 +
View file
guam-0.8-debian-concat.patch
Added
@@ -0,0 +1,225 @@ +diff -ur guam-0.8.orig/apps/kolab_guam/src/kolab_guam_listener.erl guam-0.8/apps/kolab_guam/src/kolab_guam_listener.erl +--- guam-0.8.orig/apps/kolab_guam/src/kolab_guam_listener.erl 2016-06-08 14:18:58.000000000 +0200 ++++ guam-0.8/apps/kolab_guam/src/kolab_guam_listener.erl 2016-07-01 13:33:11.784314048 +0200 +@@ -35,11 +35,12 @@ + %% gen_server API + init([Name, Config]) -> + Host = proplists:get_value(host, Config, none), ++ NetIface = proplists:get_value(net_iface, Config, none), + Port = proplists:get_value(port, Config, ?DEFAULT_IMAP_PORT), + ImplicitTLS = proplists:get_value(implicit_tls, Config, false), + TLSConfig = proplists:get_value(tls_config, Config, []), + Rules = proplists:get_value(rules, Config, []), +- Options = listen_options(Host, ImplicitTLS, TLSConfig), ++ Options = listen_options(NetIface, Host, ImplicitTLS, TLSConfig), + lager:info("Starting listener \"~p\" on port ~B (~p) with ~B rules", [Name, Port, Options, length(Rules)]), + { ok, ListenSocket } = listen(ImplicitTLS, Port, Options), + spawn_link(?MODULE, cleanup, [ListenSocket]), +@@ -55,17 +56,27 @@ + imap_config(none) -> kolab_guam_sup:default_imap_server_config(); + imap_config(Backend) -> kolab_guam_sup:imap_server_config(Backend). + +-listen_options(none, ImplicitTLS, TLSConfig) -> default_listen_options(ImplicitTLS, TLSConfig); +-listen_options(Hostname, ImplicitTLS, TLSConfig) -> ++-spec listen_options(Iface :: string(), Hostname :: string(), ImplicitTLS :: boolean(), TLSConfig :: list()) -> list(). ++listen_options(none, none, ImplicitTLS, TLSConfig) -> default_listen_options(ImplicitTLS, TLSConfig); ++listen_options(none, Hostname, ImplicitTLS, TLSConfig) -> + case inet:gethostbyname(Hostname) of + { ok, { hostent, _HostName, _Unused, inet, _Ver, [IP] } } -> + [ { ip, IP } | default_listen_options(ImplicitTLS, TLSConfig) ]; + _ -> +- listen_options(none, ImplicitTLS, TLSConfig) ++ listen_options(none, none, ImplicitTLS, TLSConfig) ++ end; ++listen_options(Iface, Hostname, ImplicitTLS, TLSConfig) -> ++ { ok, Ifaces } = inet:getifaddrs(), ++ case proplists:get_value(Iface, Ifaces) of ++ undefined -> listen_options(none, Hostname, ImplicitTLS, TLSConfig); ++ Info -> Addr = proplists:get_value(addr, Info, none), ++ %lager:info("YEAH! ~p", [Addr]), ++ listen_options(none, Addr, ImplicitTLS, TLSConfig) + end. + +-default_listen_options(true, TLSConfig) -> [ { reuseaddr, true }, {active, once } | TLSConfig ]; +-default_listen_options(_ImplicitTLS, _Config) -> [ { active, once }, { reuseaddr, true } ]. ++default_listen_options(true, TLSConfig) -> default_listen_options() ++ TLSConfig; ++default_listen_options(_ImplicitTLS, _Config) -> default_listen_options(). ++default_listen_options() -> [ { reuseaddr, true }, {active, once }, inet6 ]. + + create_initial_listeners(PID) when is_pid(PID) -> + lager:debug("Creating session pool for listener ~p", [PID]), +diff -ur guam-0.8.orig/apps/kolab_guam/src/kolab_guam_session.erl guam-0.8/apps/kolab_guam/src/kolab_guam_session.erl +--- guam-0.8.orig/apps/kolab_guam/src/kolab_guam_session.erl 2016-06-08 14:18:58.000000000 +0200 ++++ guam-0.8/apps/kolab_guam/src/kolab_guam_session.erl 2016-07-01 13:34:12.008992665 +0200 +@@ -71,10 +71,12 @@ + handle_info({ ssl, Socket, Data }, State) -> + %lager:debug("Data coming in from client over SSL, ~p", [Data]), + process_client_data(Socket, Data, State); +-handle_info({ server_hello, ServerHello }, #state{ imap_session = ImapSession, tls_config = TLSConfig, socket = Socket, client_tls_active = TLSActive, deflator = Deflator } = State) -> +- CorrectedHello = correct_hello(TLSActive, TLSConfig, ServerHello), ++handle_info({ server_hello, ServerHello }, #state{ imap_session = ImapSession, tls_config = TLSConfig, socket = Socket, client_implicit_tls = ImplicitTLS, client_tls_active = TLSActive, deflator = Deflator } = State) -> ++ CorrectedHello = correct_hello(TLSActive, ImplicitTLS, TLSConfig, ServerHello), ++ ServerIdent = proplists:get_value(server_id, ServerHello, <<>>), ++ FullGreeting = <<"* OK [CAPABILITIES ", CorrectedHello/binary, "] ", ServerIdent/binary, "\r\n">>, + eimap:start_passthrough(ImapSession, self()), +- relay_response(Socket, postprocess_server_data(Deflator, <<CorrectedHello/binary, "\r\n">>), TLSActive), ++ relay_response(Socket, postprocess_server_data(Deflator, FullGreeting), TLSActive), + { noreply, State }; + handle_info({ { rule_data, Module, ResponseToken }, Data }, #state{ rules_active = ActiveRules } = State) -> + %lager:debug("Got back data requested by rule ~p: ~p", [Module, Data]), +@@ -275,17 +277,20 @@ + set_socket_active(true, Socket) -> ssl:setopts(Socket, [{ active, once }]); + set_socket_active(_, Socket) -> inet:setopts(Socket, [{ active, once }]). + +--spec correct_hello(TLSActive :: true | false, TlSConfig :: [] | list(), ServerHello :: binary()) -> CorrectedHello :: binary(). +-correct_hello(true, _TLSConfig, ServerHello) -> ++-spec correct_hello(TLSActive :: true | false, ImplicitTLS :: true | false, TlSConfig :: [] | list(), ServerHello :: binary()) -> CorrectedHello :: binary(). ++correct_hello(true, true, _TLSConfig, ServerResponse) -> + % the connection is already secured, so don't advertise starttls to the client +- ensure_hello_does_not_have_starttls(ServerHello); +-correct_hello(_TLSActive, [], ServerHello) -> ++ ensure_hello_does_not_have_starttls(ServerResponse); ++correct_hello(true, _ImplicitTLS, _TLSConfig, ServerResponse) -> ++ % the connection is already secured, so don't advertise starttls to the client ++ ensure_hello_does_not_have_starttls(ServerResponse); ++correct_hello(_TLSActive, _ImplicitTLS, [], ServerResponse) -> + % guam does not have a TLS config and so can not provide TLS to the client +- ensure_hello_does_not_have_starttls(ServerHello); +-correct_hello(_TLSAcive, _TLSConfig, ServerHello) -> ++ ensure_hello_does_not_have_starttls(ServerResponse); ++correct_hello(_TLSActive, _ImplicitTLS, _TLSConfig, ServerResponse) -> + % guam has a TLS config, and it is not currently active, so make sure to include + % STARTTLS in our response regardless of what the backend says +- ensure_hello_has_starttls(ServerHello). ++ ensure_hello_has_starttls(ServerResponse). + + ensure_hello_has_starttls(ServerResponse) -> + ServerHello = proplists:get_value(capabilities, ServerResponse, <<>>), +@@ -296,14 +301,26 @@ + + add_starttls_to_capabilities(ServerHello) -> + case binary:match(ServerHello, <<"CAPABILITY ">>) of +- nomatch -> ServerHello; ++ nomatch -> add_starttls_after_imap4_atom(ServerHello); ++ { Start, End } -> ++ Prefix = binary:part(ServerHello, 0, Start + End), ++ Suffix = binary:part(ServerHello, Start + End, size(ServerHello) - Start - End), ++ CorrectHello = <<Prefix/binary, "STARTTLS ", Suffix/binary>>, ++ remove_auth_offers(CorrectHello) ++ end. ++ ++add_starttls_after_imap4_atom(ServerHello) -> ++ case binary:match(ServerHello, <<"IMAP4rev1 ">>) of ++ nomatch -> <<"STARTTLS ", ServerHello/binary>>; + { Start, End } -> + Prefix = binary:part(ServerHello, 0, Start + End), + Suffix = binary:part(ServerHello, Start + End, size(ServerHello) - Start - End), +- <<Prefix/binary, "STARTTLS ", Suffix/binary>> ++ CorrectHello = <<Prefix/binary, "STARTTLS ", Suffix/binary>>, ++ remove_auth_offers(CorrectHello) + end. + +-ensure_hello_does_not_have_starttls(ServerHello) -> ++ensure_hello_does_not_have_starttls(ServerResponse) -> ++ ServerHello = proplists:get_value(capabilities, ServerResponse, <<>>), + case binary:match(ServerHello, <<"STARTTLS">>) of + nomatch -> ServerHello; + { Start, End } -> +@@ -312,3 +329,25 @@ + <<Prefix/binary, Suffix/binary>> + end. + ++remove_auth_offers(ServerHello) -> ++ case binary:match(ServerHello, <<"AUTH=">>) of ++ nomatch -> ensure_advertise_login_disabled(ServerHello); ++ { Start, End } -> ++ Prefix = binary:part(ServerHello, 0, Start), ++ Suffix = ++ case binary:match(ServerHello, <<" ">>, [{ scope, { Start, size(ServerHello) - Start } }]) of ++ nomatch -> ++ %% end of the line, so no suffix ++ <<>>; ++ { SpaceStart, SpaceEnd } -> ++ binary:part(ServerHello, SpaceStart + SpaceEnd, size(ServerHello) - SpaceStart - SpaceEnd) ++ end, ++ remove_auth_offers(<<Prefix/binary, Suffix/binary>>) ++ end. ++ ++ensure_advertise_login_disabled(ServerHello) -> ++ case binary:match(ServerHello, <<"LOGINDISABLED">>) of ++ nomatch -> <<ServerHello/binary, " LOGINDISABLED">>; ++ _ -> ServerHello ++ end. ++ +Only in guam-0.8: CHANGELOG.md +diff -ur guam-0.8.orig/contrib/guam.sysvinit guam-0.8/contrib/guam.sysvinit +--- guam-0.8.orig/contrib/guam.sysvinit 2016-06-08 14:18:58.000000000 +0200 ++++ guam-0.8/contrib/guam.sysvinit 2016-07-01 13:33:49.086734379 +0200 +@@ -11,6 +11,8 @@ + + name=`basename $0` + ++export HOME=/opt/kolab_guam/ ++ + start_cmd="$name start" + restart_cmd="$name restart" + stop_cmd="$name stop" +diff -ur guam-0.8.orig/docs/deployment.md guam-0.8/docs/deployment.md +--- guam-0.8.orig/docs/deployment.md 2016-06-08 14:18:58.000000000 +0200 ++++ guam-0.8/docs/deployment.md 2016-07-01 13:32:52.850100693 +0200 +@@ -84,14 +84,26 @@ + { rules, [ { filter_groupware, [] } ] }, + { tls_config, [ { certfile, "/etc/ssl/sample.pem" } ] } + ] ++ }, ++ { default, [ ++ { net_iface, "eth0" }, ++ { port, 1993 }, ++ { imap_server, default }, ++ { implicit_tls, true }, ++ { rules, [ { filter_groupware, [] } ] }, ++ { tls_config, [ { certfile, "/etc/ssl/sample.pem" } ] } ++ ] + } + } + + The host entry is optional, and is used to bind the connection to a specific +-network interface. Leaving it empty will cause Guam to bind to the port accross ++network interface by ip address. Alternatively, the net_iface may be defined and ++guam will attempt to bind to an address on that network device. net_iface overrides ++host, though host will be used as a fallback if net_iface does not produce a network ++interface. Leaving host and net_iface empty will cause Guam to bind to the port accross + all network interfaces available to it. + +-port defines the port it is listening on. ++port defines the port the listener is active on. + + imap_server refers to the entry in the imap_servers block. If not provided, the + default entry in the imap_servers configuration is used. +diff -ur guam-0.8.orig/rebar.config guam-0.8/rebar.config +--- guam-0.8.orig/rebar.config 2016-06-08 14:18:58.000000000 +0200 ++++ guam-0.8/rebar.config 2016-07-01 13:33:41.190645404 +0200 +@@ -3,9 +3,9 @@ + + { deps_dir, "deps" }. + { deps, [ +- { lager, "(2.0|2.1|2.2).*", { git, "git://github.com/basho/lager.git", { tag, "2.2.0" } } }, ++ { lager, "3.*", { git, "git://github.com/basho/lager.git" } }, + { lager_syslog, "2.*", { git, "git://github.com/basho/lager_syslog.git", { tag, "2.1.3" } } }, +- { eimap, ".*", { git, "https://git.kolab.org/diffusion/EI/eimap.git", { tag, "0.2.2" } } } ++ { eimap, ".*", { git, "https://git.kolab.org/diffusion/EI/eimap.git", { tag, "0.2.4" } } } + %% pull in the proper version of meck before jobs 0.3 gets around to pulling in the wrong version + ] + }. +diff -ur guam-0.8.orig/rel/reltool.config guam-0.8/rel/reltool.config +--- guam-0.8.orig/rel/reltool.config 2016-06-08 14:18:58.000000000 +0200 ++++ guam-0.8/rel/reltool.config 2016-07-01 13:33:35.894585727 +0200 +@@ -4,7 +4,7 @@ + {lib_dirs, ["../deps"]}, + {erts, [{mod_cond, derived}, {app_file, strip}]}, + {app_file, strip}, +- {rel, "kolab_guam", "0.9", ++ {rel, "kolab_guam", "0.8", + [ + kernel, + stdlib,
View file
debian.series
Changed
@@ -1,10 +1,1 @@ -guam-0.8-T1312-set-HOME-environment-variable-in-sysvinit-script.patch -p1 -0001-introduce-net_iface-for-listeners.patch -p1 -0002-lets-start-keeping-a-changelog.patch -p1 -0003-enable-ipv6-by-default.patch -p1 -0004-update-this-function-for-the-data-structure-change-i.patch -p1 -0005-correct-version-of-eimap-though-this-is-like-to-bump.patch -p1 -0006-fix-typo.patch -p1 -0007-Correct-the-actual-version-back-to-0.8.patch -p1 -0008-Relax-dependency-on-lager.patch -p1 - +guam-0.8-debian-concat.patch -p1
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
.