Compare commits
2 Commits
e302430c08
...
fix/omemo-
| Author | SHA1 | Date | |
|---|---|---|---|
|
61a5de6ab9
|
|||
|
2be16df905
|
7
.github/workflows/docker-publish.yml
vendored
7
.github/workflows/docker-publish.yml
vendored
@@ -2,7 +2,7 @@ name: Publish Docker image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, ci/docker-hub-publishing]
|
||||
branches: [master]
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
@@ -24,19 +24,18 @@ jobs:
|
||||
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
|
||||
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051
|
||||
with:
|
||||
images: cproofdev/cproof
|
||||
tags: |
|
||||
type=raw,value=dev,enable={{is_default_branch}}
|
||||
type=raw,value=test,enable={{is_not_default_branch}}
|
||||
type=sha,prefix=nightly-,enable={{is_default_branch}}
|
||||
type=ref,event=tag
|
||||
type=raw,value=latest,enable=${{ startsWith(github.ref, 'refs/tags/') }}
|
||||
|
||||
- name: Build and push Docker image
|
||||
id: push
|
||||
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
|
||||
uses: docker/build-push-action@2bd26e71295ee32cbf6a73510d165bf7232460f3
|
||||
with:
|
||||
context: .
|
||||
file: ./ci/Dockerfile
|
||||
|
||||
@@ -658,6 +658,15 @@ connection_request_features(void)
|
||||
/* We don't record it as a requested feature to avoid triggering th
|
||||
* sv_ev_connection_features_received too soon */
|
||||
iq_disco_info_request_onconnect(conn.domain);
|
||||
|
||||
const char* barejid = connection_get_barejid();
|
||||
if (barejid && g_strcmp0(barejid, conn.domain) != 0) {
|
||||
if (!g_hash_table_contains(conn.features_by_jid, barejid)) {
|
||||
g_hash_table_insert(conn.features_by_jid, strdup(barejid),
|
||||
g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL));
|
||||
}
|
||||
iq_disco_info_request_onconnect(barejid); // XEP-0163: PEP services announce features on the account's bare JID
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -446,18 +446,21 @@ _omemo_receive_devicelist(xmpp_stanza_t* const stanza, void* const userdata)
|
||||
GList* device_list = NULL;
|
||||
|
||||
if (g_strcmp0(type, STANZA_TYPE_ERROR) == 0) {
|
||||
log_error("[OMEMO] can't get OMEMO device list");
|
||||
xmpp_stanza_t* error = xmpp_stanza_get_child_by_name(stanza, "error");
|
||||
if (!error) {
|
||||
log_error("[OMEMO] missing error element in device list response");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// a missing node is signalled via legacy code='404' or the RFC 6120 <item-not-found/> condition
|
||||
const char* code = xmpp_stanza_get_attribute(error, "code");
|
||||
if (g_strcmp0(code, "404") == 0) {
|
||||
if (g_strcmp0(code, "404") == 0
|
||||
|| xmpp_stanza_get_child_by_name_and_ns(error, STANZA_NAME_ITEM_NOT_FOUND, STANZA_NS_STANZAS)) {
|
||||
log_debug("[OMEMO] no devicelist node for %s, bootstrapping an empty one", from);
|
||||
omemo_set_device_list(from, NULL);
|
||||
return 1;
|
||||
}
|
||||
log_error("[OMEMO] can't get OMEMO device list");
|
||||
}
|
||||
|
||||
xmpp_stanza_t* root = NULL;
|
||||
|
||||
Reference in New Issue
Block a user