From 6f153c086b1b5618fca347f420fe50a8f73e14d5 Mon Sep 17 00:00:00 2001 From: Richard Bayerle Date: Mon, 31 Jan 2022 22:29:02 +0100 Subject: [PATCH] use namespace from XEP and remove ability to set it at build time since the XEP was officially accepted, the "untraditional" namespace became the official one. --- CHANGELOG.md | 3 +++ Makefile | 2 +- src/libomemo.c | 18 ++----------- test/test_libomemo.c | 62 ++++++++++++++++++++++---------------------- 4 files changed, 37 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb81544..21512c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - A function to check via the attribute whether a received key is a prekey. - Mention in the README the exact version implemented. ([#26](https://github.com/gkdr/libomemo/issues/26)) +## Removed +- It is not any longer possible to set the used XML namespace at build time. ([#21](https://github.com/gkdr/libomemo/issues/21)) + ### Fixed - Added missing symlinks for the `.so` files. ([#34](https://github.com/gkdr/libomemo/pull/34)) (thanks, [@hartwork](https://github.com/hartwork)!) - Fix crossbuild using wrong multiarch triplet. ([#36](https://github.com/gkdr/libomemo/pull/36)) (thanks, [@fortysixandtwo](https://github.com/fortysixandtwo)!) diff --git a/Makefile b/Makefile index b467392..8aac921 100644 --- a/Makefile +++ b/Makefile @@ -46,7 +46,7 @@ CFLAGS += -std=c11 -Wall -Wextra -Wpedantic -Wstrict-overflow \ -fno-strict-aliasing -funsigned-char \ -fno-builtin-memset -g $(PKGCFG_C) CPPFLAGS += -D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE -CFLAGS_CONVERSATIONS=$(CFLAGS) -DOMEMO_XMLNS='"eu.siacs.conversations.axolotl"' -DOMEMO_NS_SEPARATOR='"."' -DOMEMO_NS_NOVERSION +CFLAGS_CONVERSATIONS=$(CFLAGS) COVFLAGS = --coverage -O0 -g $(CFLAGS) LDFLAGS += -pthread -ldl -lm $(PKGCFG_L) TESTFLAGS = -lcmocka $(LDFLAGS) diff --git a/src/libomemo.c b/src/libomemo.c index 890dd2f..17b726c 100644 --- a/src/libomemo.c +++ b/src/libomemo.c @@ -13,23 +13,9 @@ #define HINTS_XMLNS "urn:xmpp:hints" -#ifndef OMEMO_XMLNS -#define OMEMO_XMLNS "urn:xmpp:omemo" -#endif - -#ifndef OMEMO_NS_SEPARATOR -#define OMEMO_NS_SEPARATOR ":" -#endif - +#define OMEMO_NS_SEPARATOR "." #define OMEMO_NS_SEPARATOR_FINAL ":" - -#define OMEMO_VERSION "0" - -#ifdef OMEMO_NS_NOVERSION -#define OMEMO_NS OMEMO_XMLNS -#else -#define OMEMO_NS OMEMO_XMLNS ":" OMEMO_VERSION -#endif +#define OMEMO_NS "eu.siacs.conversations.axolotl" #define PEP_NODE_NAME "node" #define DEVICELIST_PEP_NAME "devicelist" diff --git a/test/test_libomemo.c b/test/test_libomemo.c index 8832e9f..72cd832 100644 --- a/test/test_libomemo.c +++ b/test/test_libomemo.c @@ -6,18 +6,18 @@ #include "../src/libomemo.c" #include "../src/libomemo_crypto.c" -char * devicelist = "" +char * devicelist = "" "" - "" + "" "" "" "" "" ""; -char * bundle = "" +char * bundle = "" "" - "" + "" "sWsAtQ==" "sWsAtQ==" "sWsAtQ==" @@ -60,7 +60,7 @@ void test_devicelist_create(void ** state) { assert_int_equal(omemo_devicelist_create("alice", &dl_p), 0); assert_string_equal(dl_p->from, "alice"); assert_string_equal(mxmlGetElement(dl_p->list_node_p), "list"); - assert_string_equal(mxmlElementGetAttr(dl_p->list_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(dl_p->list_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); assert_ptr_equal(mxmlGetFirstChild(dl_p->list_node_p), (void *) 0); omemo_devicelist_destroy(dl_p); @@ -73,7 +73,7 @@ void test_devicelist_import(void ** state) { assert_int_equal(omemo_devicelist_import(devicelist, "bob", &dl_p), 0); assert_string_equal(dl_p->from, "bob"); assert_string_equal(mxmlGetElement(dl_p->list_node_p), "list"); - assert_string_equal(mxmlElementGetAttr(dl_p->list_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(dl_p->list_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); mxml_node_t * device_node_p; assert_int_equal(expect_next_node(dl_p->list_node_p, mxmlGetFirstChild, "device", &device_node_p), 0); @@ -99,9 +99,9 @@ void test_devicelist_import(void ** state) { void test_devicelist_import_empty(void ** state) { (void) state; - char * devicelist_empty = "" + char * devicelist_empty = "" "" - "" + "" "" "" ""; @@ -117,7 +117,7 @@ void test_devicelist_import_empty(void ** state) { void test_devicelist_import_empty_alt(void ** state) { (void) state; - char * devicelist_empty = ""; + char * devicelist_empty = ""; omemo_devicelist * dl_p; assert_int_equal(omemo_devicelist_import(devicelist_empty, "alice", &dl_p), 0); @@ -251,14 +251,14 @@ void test_devicelist_export(void ** state) { mxml_node_t * publish_node_p = mxmlLoadString((void *) 0, xml, MXML_NO_CALLBACK); assert_ptr_not_equal(publish_node_p, (void *) 0); assert_string_equal(mxmlGetElement(publish_node_p), "publish"); - assert_string_equal(mxmlElementGetAttr(publish_node_p, "node"), "urn:xmpp:omemo:0:devicelist"); + assert_string_equal(mxmlElementGetAttr(publish_node_p, "node"), "eu.siacs.conversations.axolotl.devicelist"); mxml_node_t * item_node_p = mxmlGetFirstChild(publish_node_p); assert_string_equal(mxmlGetElement(item_node_p), "item"); mxml_node_t * list_node_p = mxmlGetFirstChild(item_node_p); assert_string_equal(mxmlGetElement(list_node_p), "list"); - assert_string_equal(mxmlElementGetAttr(list_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(list_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); mxml_node_t * device_node_p = mxmlGetFirstChild(list_node_p); assert_string_equal(mxmlGetElement(device_node_p), "device"); @@ -278,7 +278,7 @@ void test_devicelist_get_pep_node_name(void ** state) { char * node_name = (void *) 0; assert_int_equal(omemo_devicelist_get_pep_node_name(&node_name), 0); - assert_string_equal(node_name, "urn:xmpp:omemo:0:devicelist"); + assert_string_equal(node_name, "eu.siacs.conversations.axolotl.devicelist"); free(node_name); } @@ -450,7 +450,7 @@ void test_bundle_export(void ** state) { mxml_node_t * bundle_node_p = mxmlGetFirstChild(item_node_p); assert_ptr_not_equal(bundle_node_p, (void *) 0); assert_string_equal(mxmlGetElement(bundle_node_p), "bundle"); - assert_string_equal(mxmlElementGetAttr(bundle_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(bundle_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); mxml_node_t * signed_pk_node_p = mxmlGetFirstChild(bundle_node_p); assert_ptr_not_equal(signed_pk_node_p, (void *) 0); @@ -487,7 +487,7 @@ void test_bundle_get_pep_node_name(void ** state) { char * node_name = (void *) 0; assert_int_equal(omemo_bundle_get_pep_node_name(1337, &node_name), 0); - assert_string_equal(node_name, "urn:xmpp:omemo:0:bundles:1337"); + assert_string_equal(node_name, "eu.siacs.conversations.axolotl.bundles:1337"); free(node_name); } @@ -495,8 +495,8 @@ void test_bundle_get_pep_node_name(void ** state) { void test_bundle_import_malformed(void ** state) { (void) state; - char * bundle_malformed_1 = "" - "" + char * bundle_malformed_1 = "" + "" "sWsAtQ==" "sWsAtQ==" "sWsAtQ==" @@ -510,9 +510,9 @@ void test_bundle_import_malformed(void ** state) { "" ""; - char * bundle_malformed_2 = "" + char * bundle_malformed_2 = "" "" - "" + "" "sWsAtQ==" "sWsAtQ==" "" @@ -525,9 +525,9 @@ void test_bundle_import_malformed(void ** state) { "" ""; - char * bundle_malformed_3 = "" + char * bundle_malformed_3 = "" "" - "" + "" "sWsAtQ==" "sWsAtQ==" "" @@ -540,9 +540,9 @@ void test_bundle_import_malformed(void ** state) { "" ""; - char * bundle_malformed_4 = "" + char * bundle_malformed_4 = "" "" - "" + "" "sWsAtQ==" "sWsAtQ==" "" @@ -555,9 +555,9 @@ void test_bundle_import_malformed(void ** state) { "" ""; - char * bundle_malformed_5 = "" + char * bundle_malformed_5 = "" "" - "" + "" "sWsAtQ==" "sWsAtQ==" "sWsAtQ==" @@ -765,7 +765,7 @@ void test_message_get_encrypted_key(void ** state) { (void) state; char * msg = "" - "" + "" "
" "sWsAtQ==" "BASE64ENCODED" @@ -795,7 +795,7 @@ void test_message_is_encrypted_key_prekey(void ** state) { (void) state; char * msg = "" - "" + "" "
" "sWsAtQ==" "sWsAtQ==" @@ -846,7 +846,7 @@ void test_message_get_encrypted_key_after_iv(void ** state) { (void) state; char * msg = "" - "" + "" "
" "BASE64ENCODED" "sWsAtQ==" @@ -875,7 +875,7 @@ void test_message_get_encrypted_key_no_keys(void ** state) { (void) state; char * msg = "" - "" + "" "
" "BASE64ENCODED" "
" @@ -971,7 +971,7 @@ void test_message_export_encrypted(void ** state) { mxml_node_t * encrypted_node_p; assert_int_equal(expect_next_node(message_node_p, mxmlGetFirstChild, "encrypted", &encrypted_node_p), 0); - assert_string_equal(mxmlElementGetAttr(encrypted_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(encrypted_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); mxml_node_t * header_node_p; assert_int_equal(expect_next_node(encrypted_node_p, mxmlGetFirstChild, "header", &header_node_p), 0); @@ -1014,7 +1014,7 @@ void test_message_export_encrypted_with_extra_tags_and_body(void ** state) { mxml_node_t * encrypted_node_p; assert_int_equal(expect_next_node(body_node_p, mxmlGetNextSibling, "encrypted", &encrypted_node_p), 0); - assert_string_equal(mxmlElementGetAttr(encrypted_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(encrypted_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); mxml_node_t * header_node_p; assert_int_equal(expect_next_node(encrypted_node_p, mxmlGetFirstChild, "header", &header_node_p), 0); @@ -1164,7 +1164,7 @@ void test_message_export_encrypted_with_eme(void ** state) { mxml_node_t * encrypted_node_p; assert_int_equal(expect_next_node(message_node_p, mxmlGetFirstChild, "encrypted", &encrypted_node_p), 0); - assert_string_equal(mxmlElementGetAttr(encrypted_node_p, "xmlns"), "urn:xmpp:omemo:0"); + assert_string_equal(mxmlElementGetAttr(encrypted_node_p, "xmlns"), "eu.siacs.conversations.axolotl"); mxml_node_t * header_node_p; assert_int_equal(expect_next_node(encrypted_node_p, mxmlGetFirstChild, "header", &header_node_p), 0);