Projects
Kolab:Winterfell
guam
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 22
View file
guam.spec
Changed
@@ -43,15 +43,38 @@ 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 -Patch0013: 0009-don-t-modify-the-acive-state-if-we-don-t-have-a-LIST.patch +Patch0013: 0011-switch-to-triggering-on-any-list-where-the-last-two-.patch BuildRequires: erlang >= 17.4 -BuildRequires: erlang-eimap >= 0.1.5 -BuildRequires: erlang-goldrush -BuildRequires: erlang-lager >= 2.1.0 +BuildRequires: erlang-asn1 +BuildRequires: erlang-common_test +BuildRequires: erlang-compiler +BuildRequires: erlang-crypto +BuildRequires: erlang-debugger +BuildRequires: erlang-eimap >= 0.2.4 +BuildRequires: erlang-erts +BuildRequires: erlang-et +BuildRequires: erlang-goldrush >= 0.1.8 +BuildRequires: erlang-kernel +BuildRequires: erlang-lager >= 3.1.0 BuildRequires: erlang-lager_syslog >= 2.0.3 +BuildRequires: erlang-mnesia +BuildRequires: erlang-observer +BuildRequires: erlang-public_key BuildRequires: erlang-rebar >= 2.5.1 +BuildRequires: erlang-runtime_tools +BuildRequires: erlang-sasl +BuildRequires: erlang-snmp +BuildRequires: erlang-ssh +BuildRequires: erlang-ssl +BuildRequires: erlang-stdlib +BuildRequires: erlang-syntax_tools BuildRequires: erlang-syslog >= 1.0.3 +BuildRequires: erlang-test_server +BuildRequires: erlang-tools +BuildRequires: erlang-webtool +BuildRequires: erlang-wx +BuildRequires: erlang-xmerl Requires(pre): shadow-utils Requires(postun): shadow-utils @@ -150,11 +173,12 @@ pushd %{buildroot}/opt/%{realname}/lib for dir in $(ls -d */ | grep -v kolab_guam); do - if [ ! -d ../../..%{_libdir}/erlang/lib/$(basename ${dir}) ]; then - echo "Skipping deletion of $(basename ${dir}), no equivalent in %{_libdir}/erlang/lib/" + dir=$(basename ${dir}) + if [ ! -d %{_libdir}/erlang/lib/${dir} ]; then + echo "Skipping deletion of ${dir}, no equivalent in %{_libdir}/erlang/lib/" else rm -rvf ${dir} - ln -sv ../../..%{_libdir}/erlang/lib/$(basename ${dir}) $(basename ${dir}) + ln -sv ../../..%{_libdir}/erlang/lib/${dir} ${dir} fi done popd @@ -162,6 +186,13 @@ %check rebar skip_deps=true eunit -v +%pretrans +pushd /opt/kolab_guam/lib +for dir in $(ls -d */ | grep -v kolab_guam); do + dir=$(basename ${dir}) + rm -rf -- ${dir} +done + %pre if [ $1 == 1 ]; then /usr/sbin/groupadd --system %{guam_group} 2> /dev/null || :
View file
0009-don-t-modify-the-acive-state-if-we-don-t-have-a-LIST.patch
Deleted
@@ -1,32 +0,0 @@ -From 2cb99c736820d9f5e30b975ca3956def88a471f6 Mon Sep 17 00:00:00 2001 -From: Aaron Seigo <aseigo@kde.org> -Date: Fri, 1 Jul 2016 17:24:33 +0200 -Subject: [PATCH 9/9] don't modify the acive state if we don't have a LIST - command - ---- - apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl b/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl -index a383ad9..eec374c 100644 ---- a/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl -+++ b/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl -@@ -31,12 +31,12 @@ applies(_ConnectionDetails, Buffer, State) -> - - apply_to_client_message(ImapSession, Buffer, State) -> - { Tag, Command, Data } = eimap_utils:split_command_into_components(Buffer), -- { Active, StateTag }= -+ { Active, StateTag } = - case lists:any(fun(T) -> (Command =:= T) andalso - ((binary:match(Data, <<"*">>) =/= nomatch) orelse (binary:match(Data, <<"%">>) =/= nomatch)) end, - State#state.trigger_commands) of - true -> fetch_metadata(ImapSession, State), { true, Tag }; -- _ -> { false, <<>> } -+ _ -> { State#state.active, <<>> } - end, - %lager:info("Client sent: ~s ~s ~p", [Command, Data, Active]), - { Buffer, State#state{ active = Active, tag = StateTag }}. --- -2.5.5 -
View file
0011-switch-to-triggering-on-any-list-where-the-last-two-.patch
Added
@@ -0,0 +1,61 @@ +From 7a96caca1d8f8db6f6d7bd625867d5eb292694f0 Mon Sep 17 00:00:00 2001 +From: Aaron Seigo <aseigo@kde.org> +Date: Mon, 4 Jul 2016 09:47:46 +0200 +Subject: [PATCH 11/11] switch to triggering on any list where the last two + bytes are not "" + +if the suffix of the command is "" that means "this is not really a LIST +command, rather I am wanting the root and separator" .. otherwise known +as IMAP's poorly considered attempt at a poor man's NAMESPACE command +--- + .../src/rules/kolab_guam_rule_filter_groupware.erl | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl b/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl +index a383ad9..49211aa 100644 +--- a/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl ++++ b/apps/kolab_guam/src/rules/kolab_guam_rule_filter_groupware.erl +@@ -27,14 +27,12 @@ new(_Config) -> #state { blacklist = undefined }. + applies(_ConnectionDetails, Buffer, State) -> + { _Tag, Command, Data } = eimap_utils:split_command_into_components(Buffer), + %lager:debug("********** Checking ...~n Command: ~s ~s", [Command, Data]), +- { apply_if_id_matches(Command, Data, State#state.trigger_commands), State }. ++ { apply_if_id_matches(Command, Data, State), State }. + + apply_to_client_message(ImapSession, Buffer, State) -> + { Tag, Command, Data } = eimap_utils:split_command_into_components(Buffer), + { Active, StateTag }= +- case lists:any(fun(T) -> (Command =:= T) andalso +- ((binary:match(Data, <<"*">>) =/= nomatch) orelse (binary:match(Data, <<"%">>) =/= nomatch)) end, +- State#state.trigger_commands) of ++ case is_triggering_command(Command, Data, State) of + true -> fetch_metadata(ImapSession, State), { true, Tag }; + _ -> { false, <<>> } + end, +@@ -55,16 +53,20 @@ imap_data(blacklist, Response, State) -> + State#state{ blacklist = Blacklist }. + + %%PRIVATE ++is_triggering_command(Command, Data, #state{ trigger_commands = TriggerCommands }) -> ++ lists:any(fun(T) -> (Command =:= T) andalso (binary:longest_common_suffix([Data, <<"\"\"">>]) =:= 2) end, ++ TriggerCommands). ++ + + fetch_metadata(none, #state{ blacklist = undefined }) -> ok; + fetch_metadata(ImapSession, #state{ blacklist = undefined }) -> + eimap:get_folder_metadata(ImapSession, self(), { rule_data, ?MODULE, blacklist }, "*", ["/shared/vendor/kolab/folder-type"]); + fetch_metadata(_ImapSession, _State) -> ok. + +-apply_if_id_matches(<<"ID">>, Data, _TriggerCommands) -> ++apply_if_id_matches(<<"ID">>, Data, _State) -> + apply_if_found_kolab(binary:match(Data, <<"/Kolab">>)); +-apply_if_id_matches(Command, _Data, TriggerCommands) -> +- case lists:any(fun(T) -> Command =:= T end, TriggerCommands) of ++apply_if_id_matches(Command, Data, State) -> ++ case is_triggering_command(Command, Data, State) of + true -> true; + _ -> notyet + end. +-- +2.5.5 +
View file
debian.series
Changed
@@ -1,2 +1,2 @@ guam-0.8-debian-concat.patch -p1 -0009-don-t-modify-the-acive-state-if-we-don-t-have-a-LIST.patch -p1 +0011-switch-to-triggering-on-any-list-where-the-last-two-.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
.