don't attempt to decrypt group msg if key has been removed
This commit is contained in:
parent
8a1d690518
commit
5d3d511905
|
@ -59,8 +59,8 @@
|
|||
:new-group-chat [from group-id]
|
||||
:group-chat-invite-acked [ack-msg-id from group-id]
|
||||
:group-new-participant [identity group-id from msg-id]
|
||||
:group-removed-participant [from identity group-id]
|
||||
:removed-from-group [from group-id]
|
||||
:group-removed-participant [from identity group-id msg-id]
|
||||
:removed-from-group [from group-id msg-id]
|
||||
:participant-left-group [from group-id]
|
||||
:initialized [identity]
|
||||
|
||||
|
|
|
@ -72,11 +72,11 @@
|
|||
:group-id group-topic}))))
|
||||
|
||||
(defn decrypt-group-msg [group-topic encrypted-payload]
|
||||
(let [store (storage)
|
||||
{private-key :private} (get-keypair store group-topic)]
|
||||
(-> (decrypt private-key encrypted-payload)
|
||||
(read-string)
|
||||
(assoc :group-topic group-topic))))
|
||||
(let [store (storage)]
|
||||
(when-let [{private-key :private} (get-keypair store group-topic)]
|
||||
(-> (decrypt private-key encrypted-payload)
|
||||
(read-string)
|
||||
(assoc :group-topic group-topic)))))
|
||||
|
||||
(defn handle-group-user-msg [web3 from {:keys [msg-id group-topic] :as payload}]
|
||||
(send-ack web3 from msg-id)
|
||||
|
@ -107,7 +107,8 @@
|
|||
(remove-identity store group-topic removed-identity)
|
||||
(invoke-user-handler :group-removed-participant {:identity removed-identity
|
||||
:group-id group-topic
|
||||
:from from})))
|
||||
:from from
|
||||
:msg-id msg-id})))
|
||||
(log/warn "Ignoring group-removed-participant for group" group-topic "from a non group-admin user" from))))
|
||||
|
||||
(defn handle-removed-from-group [web3 from {:keys [group-topic msg-id]}]
|
||||
|
@ -119,7 +120,8 @@
|
|||
(remove-group-data store group-topic)
|
||||
(stop-listener group-topic)
|
||||
(invoke-user-handler :removed-from-group {:group-id group-topic
|
||||
:from from})))
|
||||
:from from
|
||||
:msg-id msg-id})))
|
||||
(log/warn "Ignoring removed-from-group for group" group-topic "from a non group-admin user" from))))
|
||||
|
||||
(defn handle-participant-left-group [web3 from {:keys [group-topic msg-id]}]
|
||||
|
@ -131,11 +133,12 @@
|
|||
:from from}))))
|
||||
|
||||
(defn handle-group-msg [web3 msg-type from {:keys [enc-payload group-topic]}]
|
||||
(let [payload (decrypt-group-msg group-topic enc-payload)]
|
||||
(if-let [payload (decrypt-group-msg group-topic enc-payload)]
|
||||
(case msg-type
|
||||
:group-user-msg (handle-group-user-msg web3 from payload)
|
||||
:group-new-participant (handle-group-new-participant web3 from payload)
|
||||
:left-group (handle-participant-left-group web3 from payload))))
|
||||
:left-group (handle-participant-left-group web3 from payload))
|
||||
(log/debug "Could not decrypt group msg, possibly you've left the group.")))
|
||||
|
||||
(defn handle-incoming-whisper-msg [web3 msg]
|
||||
(log/info "Got whisper message:" msg)
|
||||
|
|
Loading…
Reference in New Issue