Projects
Kolab:16
guam
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 11
View file
guam.spec
Changed
@@ -20,7 +20,7 @@ %define lock_version() %{1}%{?_isa} = %(rpm -q --queryformat "%{VERSION}" %{1}) Name: guam -Version: 0.8.1 +Version: 0.8.2 Release: 0.20160219.git%{?dist} Summary: A Smart Reverse IMAP Proxy @@ -30,8 +30,7 @@ Source0: guam-%{version}.tar.gz -Patch9991: guam-0.8-T1312-set-HOME-environment-variable-in-sysvinit-script.patch -Patch9992: guam-0.8.1-relax-dependencies-set-correct-version-number.patch +Patch9991: guam-0.8.2-relax-dependencies.patch BuildRequires: erlang >= 17.4 BuildRequires: erlang-asn1 @@ -100,7 +99,6 @@ %setup -q %patch9991 -p1 -%patch9992 -p1 %build rebar compile @@ -161,14 +159,6 @@ %check rebar skip_deps=true eunit -v -%pretrans -pushd /opt/kolab_guam/lib >/dev/null 2>&1 || : -for dir in $(ls -d */ | grep -v kolab_guam); do - dir=$(basename ${dir}) - rm -rf -- /opt/kolab_guam/lib/${dir} -done -popd >/dev/null 2>&1 || : - %pre if [ $1 == 1 ]; then /usr/sbin/groupadd --system %{guam_group} 2> /dev/null || : @@ -202,7 +192,7 @@ %posttrans test -f /etc/sysconfig/guam-disable-posttrans || \ - %{_bindir}/service restart guam 2>&1 || : + %{_sbindir}/service restart guam 2>&1 || : %endif %files @@ -219,6 +209,9 @@ /opt/%{realname}/ %changelog +* Wed Jul 6 2016 Aaron Seigo <seigo@kolabsystems.com> - 0.8.2-1 +- Release of version 0.8.2 + * Tue Jul 5 2016 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 0.8.1-1 - Release of version 0.8.1
View file
guam-0.8-T1312-set-HOME-environment-variable-in-sysvinit-script.patch
Deleted
@@ -1,12 +0,0 @@ -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-06-27 16:32:03.358687603 +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"
View file
guam-0.8.1-relax-dependencies-set-correct-version-number.patch
Deleted
@@ -1,24 +0,0 @@ -diff -ur guam-0.8.1.orig/rebar.config guam-0.8.1/rebar.config ---- guam-0.8.1.orig/rebar.config 2016-07-04 12:40:07.000000000 +0200 -+++ guam-0.8.1/rebar.config 2016-07-05 11:13:53.683350555 +0200 -@@ -3,7 +3,7 @@ - - { 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.5" } } } - %% pull in the proper version of meck before jobs 0.3 gets around to pulling in the wrong version -diff -ur guam-0.8.1.orig/rel/reltool.config guam-0.8.1/rel/reltool.config ---- guam-0.8.1.orig/rel/reltool.config 2016-07-04 12:40:07.000000000 +0200 -+++ guam-0.8.1/rel/reltool.config 2016-07-05 11:14:03.958466677 +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.1", - [ - kernel, - stdlib,
View file
guam-0.8.2-relax-dependencies.patch
Added
@@ -0,0 +1,12 @@ +diff -ur guam-0.8.1.orig/rebar.config guam-0.8.1/rebar.config +--- guam-0.8.1.orig/rebar.config 2016-07-04 12:40:07.000000000 +0200 ++++ guam-0.8.1/rebar.config 2016-07-05 11:13:53.683350555 +0200 +@@ -3,7 +3,7 @@ + + { 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.5" } } } + %% pull in the proper version of meck before jobs 0.3 gets around to pulling in the wrong version
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +guam (0.8.2-1) unstable; urgency=medium + + * Release of 0.8.2 + + -- Aaron Seigo <seigo@kolabsystems.com> Wed, 6 Jul 2016 13:00:00 +0600 + guam (0.8.1-1) unstable; urgency=medium * Release of 0.8.1
View file
debian.series
Changed
@@ -1,2 +1,1 @@ -guam-0.8-T1312-set-HOME-environment-variable-in-sysvinit-script.patch -p1 -guam-0.8.1-relax-dependencies-set-correct-version-number.patch -p1 +guam-0.8.2-relax-dependencies.patch -p1
View file
guam-0.8.1.tar.gz/app.config -> guam-0.8.2.tar.gz/app.config
Changed
@@ -32,6 +32,7 @@ { filter_groupware, [] } ] }, + { listener_pool_size, 10 }, { tls_config, [ { certfile, "/etc/ssl/sample.pem" } ] } ] },
View file
guam-0.8.1.tar.gz/apps/kolab_guam/src/kolab_guam.app.src -> guam-0.8.2.tar.gz/apps/kolab_guam/src/kolab_guam.app.src
Changed
@@ -2,7 +2,7 @@ {application, kolab_guam, [ {description, "IMAP session proxy"}, - {vsn, "0.8.1"}, + {vsn, "0.8.2"}, {registered, []}, {applications, [ kernel,
View file
guam-0.8.1.tar.gz/apps/kolab_guam/src/kolab_guam_listener.erl -> guam-0.8.2.tar.gz/apps/kolab_guam/src/kolab_guam_listener.erl
Changed
@@ -19,9 +19,10 @@ -behaviour(supervisor). -define(DEFAULT_IMAP_PORT, 143). +-define(DEFAULT_LISTENER_POOL_SIZE, 10). %% API --export([start_link/2, create_initial_listeners/1, cleanup/1]). +-export([start_link/2, create_initial_listeners/2, cleanup/1]). %% gen_supervisor callbacks -export([init/1]). @@ -45,7 +46,8 @@ { ok, ListenSocket } = listen(ImplicitTLS, Port, Options), spawn_link(?MODULE, cleanup, [ListenSocket]), %% setting up the initial listeners must be done async to allow the init to be done and the supervisor to be setup - spawn_link(kolab_guam_listener, create_initial_listeners, [self()]), + ListenerPoolSize = proplists:get_value(listener_pool_size, Config, ?DEFAULT_LISTENER_POOL_SIZE), + spawn_link(kolab_guam_listener, create_initial_listeners, [ListenerPoolSize, self()]), ImapConfig = imap_config(proplists:get_value(imap_server, Config, none)), lager:debug("ImapConfig is ~p", [ImapConfig]), {ok, { { simple_one_for_one, 60, 3600 }, @@ -78,9 +80,9 @@ 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]), - [ supervisor:start_child(PID, []) || _ <- lists:seq(1, 20) ]. +create_initial_listeners(ListenerPoolSize, PID) when is_pid(PID) -> + lager:debug("Creating session pool of size ~p for listener ~p", [ListenerPoolSize, PID]), + [ supervisor:start_child(PID, []) || _ <- lists:seq(1, ListenerPoolSize) ]. cleanup(Socket) -> process_flag(trap_exit, true),
View file
guam-0.8.1.tar.gz/apps/kolab_guam/src/kolab_guam_session.erl -> guam-0.8.2.tar.gz/apps/kolab_guam/src/kolab_guam_session.erl
Changed
@@ -46,6 +46,8 @@ { reply, ok, State }. handle_cast(accept, State = #state{ socket = ListenSocket, server_config = ServerConfig }) -> + %% try to rate limit our responses a bit here so that hammering the socket with connections is survivable + timer:sleep(3), { ok, AcceptSocket, TLSActive } = accept_client(ListenSocket, State), { ok, ImapSession } = eimap:start_link(ServerConfig), eimap:connect(ImapSession, self(), server_hello), @@ -118,22 +120,31 @@ %% private API accept_client(ListenSocket, #state{ client_implicit_tls = true, super_pid = SupervisorPID }) -> - { ok, AcceptSocket } = ssl:transport_accept(ListenSocket), + AcceptResult = ssl:transport_accept(ListenSocket), + AcceptSocket = post_accept_bookkeeping(implicit_tls, ListenSocket, SupervisorPID, AcceptResult), + %% prep for the next listen ok = ssl:ssl_accept(AcceptSocket), ok = ssl:setopts(AcceptSocket, [{ active, once }, { mode, binary }]), - %% start a new accepting process to replace this one, which is now i use - supervisor:start_child(SupervisorPID, []), - ok = ssl:setopts(ListenSocket, [{ active, once }, { mode, binary }]), % lager:info("~p All done!", [self()]), { ok, AcceptSocket, true }; accept_client(ListenSocket, #state{ super_pid = SupervisorPID }) -> - { ok, AcceptSocket } = gen_tcp:accept(ListenSocket), + AcceptResult = gen_tcp:accept(ListenSocket), + AcceptSocket = post_accept_bookkeeping(no_implicit_tls, ListenSocket, SupervisorPID, AcceptResult), ok = inet:setopts(AcceptSocket, [{ active, once }, { mode, binary }]), - %% start a new accepting process to replace this one, which is now i use - supervisor:start_child(SupervisorPID, []), - ok = inet:setopts(ListenSocket, [{ active, once }]), { ok, AcceptSocket, false }. +post_accept_bookkeeping(ImplicitTls, ListenSocket, SupervisorPID, AcceptResult) -> + %% start a new accepting process to replace this one, which is now in use + supervisor:start_child(SupervisorPID, []), + %% prep for the next listen + case ImplicitTls of + implicit_tls -> ok = ssl:setopts(ListenSocket, [{ active, once }, { mode, binary }]); + _ -> ok = inet:setopts(ListenSocket, [{ active, once }]) + end, + %% assert that the accept worked + { ok, AcceptSocket } = AcceptResult, + AcceptSocket. + close_zlib_handle(undefined) -> ok; close_zlib_handle(Z) -> zlib:close(Z).
View file
guam-0.8.1.tar.gz/contrib/guam.sysvinit -> guam-0.8.2.tar.gz/contrib/guam.sysvinit
Changed
@@ -11,6 +11,8 @@ name=`basename $0` +export HOME=/opt/kolab_guam/ + start_cmd="$name start" restart_cmd="$name restart" stop_cmd="$name stop"
View file
guam-0.8.1.tar.gz/docs/deployment.md -> guam-0.8.2.tar.gz/docs/deployment.md
Changed
@@ -82,6 +82,7 @@ { port, 1936 }, { imap_server, default }, { rules, [ { filter_groupware, [] } ] }, + { listener_pool_size, 50 }, { tls_config, [ { certfile, "/etc/ssl/sample.pem" } ] } ] }, @@ -120,6 +121,11 @@ ] } +The number of listeners idling on the socket to accept connections can be set +with listener_pool_size. This is a trade off between connection latency and +resource usage under load. In normal usage, the default value should suffice +and this configuration may be left out. + Finally, there is the tls_config. This must be provided if STARTTLS is to be supported. (Implicit TLS is currently not supported by listeners.) The minimum configuration provides the path to a PEM bundle, however one can also define
View file
guam-0.8.1.tar.gz/rel/reltool.config -> guam-0.8.2.tar.gz/rel/reltool.config
Changed
@@ -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.2", [ kernel, stdlib,
View file
guam.dsc
Changed
@@ -2,7 +2,7 @@ Source: guam Binary: guam Architecture: any -Version: 0.8.1-1 +Version: 0.8.2-1 Maintainer: Christoph Erhardt <kolab@sicherha.de> Homepage: https://kolab.org/about/guam Standards-Version: 3.9.6 @@ -10,5 +10,5 @@ Package-List: guam deb mail extra Files: - 00000000000000000000000000000000 0 guam-0.8.1.tar.gz + 00000000000000000000000000000000 0 guam-0.8.2.tar.gz 00000000000000000000000000000000 0 debian.tar.gz
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
.