From c6cf6b303648de97f02c19e526e6ef572c0d420b Mon Sep 17 00:00:00 2001 From: Tobias Lindahl Date: Wed, 10 Jun 2020 08:30:31 +0200 Subject: [PATCH] Don't trust client session settings --- apps/roster/src/api/push/roster_apns_api.erl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/roster/src/api/push/roster_apns_api.erl b/apps/roster/src/api/push/roster_apns_api.erl index 1e571ff7e..7a1611818 100644 --- a/apps/roster/src/api/push/roster_apns_api.erl +++ b/apps/roster/src/api/push/roster_apns_api.erl @@ -275,7 +275,6 @@ pick_binary_config(SessionSettings, State) -> Name = pick_session_name(SessionSettings), orddict:fetch(Name, Configs). - pick_session_name(SessionSettings) -> Bundle = get_data_from_feature(SessionSettings, ?FKPN_BUNDLE), Gateway = get_data_from_feature(SessionSettings, ?FKPN_GATEWAY), @@ -283,12 +282,16 @@ pick_session_name(SessionSettings) -> case {CertType, Gateway} of {prod, <<"LIVE">>} -> apns_live; {prod, <<"SANDBOX">>} -> apns_sandbox_prod; - {dev, <<"SANDBOX">>} -> apns_sandbox_dev + {dev, <<"SANDBOX">>} -> apns_sandbox_dev; + {_ , _ } -> + ?LOG_INFO("Bad settings for push ~p", [SessionSettings]), + apns_sandbox_dev end. cert_type_from_bundle(<<"com.nynja.mobile.communicator">>) -> prod; cert_type_from_bundle(<<"com.nynja.rc.mobile.communicator">>) -> prod; -cert_type_from_bundle(<<"com.nynja.dev.mobile.communicator">>) -> dev. +cert_type_from_bundle(<<"com.nynja.dev.mobile.communicator">>) -> dev; +cert_type_from_bundle(_) -> dev. %% Sometimes used for test builds get_data_from_feature(SessionSettings, Key) -> case lists:keyfind(Key, #'Feature'.key, SessionSettings) of -- GitLab