From f2cfee11de38bd96d329334c6d2d30ed11e049a1 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Mon, 20 Sep 2010 13:35:42 +0300 Subject: [PATCH] Disable notifications for a user on "Invalid token" error --- src/mod_applepush_service.erl | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/mod_applepush_service.erl b/src/mod_applepush_service.erl index 425da7aac..7c5ab711f 100644 --- a/src/mod_applepush_service.erl +++ b/src/mod_applepush_service.erl @@ -199,14 +199,19 @@ handle_info({ssl, Socket, Packet}, State) case dict:find(CmdID, State#state.cmd_cache) of {ok, {JID, _DeviceID}} -> ?ERROR_MSG("PUSH ERROR for ~p: ~p", [JID, Status]), - %From = jlib:make_jid("", State#state.host, ""), - %ejabberd_router:route( - % From, JID, - % {xmlelement, "message", [], - % [{xmlelement, "disable", - % [{"xmlns", ?NS_P1_PUSH}, - % {"status", integer_to_list(Status)}], - % []}]}); + if + Status == 8 -> + From = jlib:make_jid("", State#state.host, ""), + ejabberd_router:route( + From, JID, + {xmlelement, "message", [], + [{xmlelement, "disable", + [{"xmlns", ?NS_P1_PUSH}, + {"status", integer_to_list(Status)}], + []}]}); + true -> + ok + end, ok; error -> ?ERROR_MSG("Unknown cmd ID ~p~n", [CmdID]),